我已经工作了2个月的项目没有任何理由停止工作,因为Xcode陷入了"索引".我不能再建造这个项目了.如果我尝试构建,Xcode冻结,我必须强制退出.这只发生在这个项目中.
我尝试清理所有派生数据,但没有帮助.
我正在使用Xcode 4.5.2.
有任何想法吗?
我一直在使用选择器,甚至在迁移到Swift之后我能够毫无问题地使用它们.这就是我在Swift 2上使用的方式没有问题,直到我将Xcode更新到7.3版:
正如使用可以看到我使用选择器与NSTimer.
这是被称为的动作:
func Start () {
}
Run Code Online (Sandbox Code Playgroud)
如您所见,Xcode 7.3现在发出警告"没有用Objective-C选择器声明的方法".通过单击警告,Xcode通过添加"Selector"快速修复代码,但我仍然得到相同的警告:
现在所有应用程序都需要还原IAP按钮,如果没有,Apple将拒绝该应用程序.
问题是,消耗品呢?你无法恢复它们似乎是合乎逻辑的,因为用户将在游戏上花费额外的金币,就是这样.
我使用NSUserDefaults存储硬币,所以如果用户删除应用程序,他将失去一切,除非他通过iTunes同步.iCloud备份到同步设备将在未来的更新中添加,但我想这与问题无关,即...
消耗IAP可以/必须恢复吗?
我只是害怕遭到拒绝而且延迟了我的新游戏.
谢谢,
这是一个很受欢迎的问题,但我找不到任何适用于Swift 2的解决方案.
该应用程序仅限肖像.但在观看YouTube等全屏视频时,用户应该可以旋转到横向.
在Objective C上,这是最简单的解决方案,我使用了很长时间:
AppDelegate file:
static NSString * const VIDEO_CONTROLLER_CLASS_NAME_IOS7 = @"MPInlineVideoFullscreenViewController";
static NSString * const VIDEO_CONTROLLER_CLASS_NAME_IOS8 = @"AVFullScreenViewController";
- (UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window{
if ([[window.rootViewController presentedViewController] isKindOfClass:NSClassFromString(VIDEO_CONTROLLER_CLASS_NAME_IOS7)] ||
[[window.rootViewController presentedViewController] isKindOfClass:NSClassFromString(VIDEO_CONTROLLER_CLASS_NAME_IOS8)]) {
return UIInterfaceOrientationMaskAllButUpsideDown;
} else {
return UIInterfaceOrientationMaskPortrait;
}
}
Run Code Online (Sandbox Code Playgroud)
这允许在视频全屏时的所有方向.否则,仅限肖像.
但是我很难在Swift上完成这项工作.当全屏视频是Swift上的播放器时,是否可以使屏幕旋转?
我已经尝试了所有内容并阅读了所有主题,但我无法找出为什么NSUbiquitousKeyValueStore没有存储在iCloud上.
•创建了特定的应用程序ID
•为此App ID启用了iCloud
•创建供应配置文件
•在项目上启用iCloud
•将权利设置为键值:$(TeamIdentifierPrefix)$(CFBundleIdentifier)
•打开设备上的iCloud Drive
但NSUbiquitousKeyValueStore仅在本地保存.当我重新安装应用程序时,它不会从iCloud获取信息.
这是我正在尝试的方式:
NSUbiquitousKeyValueStore *cloudStore = [NSUbiquitousKeyValueStore defaultStore];
if ([[cloudStore stringForKey:@"testString"] length] == 0) {
NSLog(@"Nothing in iCloud - setting a value...");
[cloudStore setString:@"I'm live in iCloud!" forKey:@"testString"];
[cloudStore synchronize];
[[NSUbiquitousKeyValueStore defaultStore] synchronize];
} else {
NSString *result = [cloudStore stringForKey:@"testString"];
NSLog(@"Found something in iCloud - here it is: %@", result);
}
[self registerForiCloudNotificatons];
Run Code Online (Sandbox Code Playgroud)
如果我删除应用程序或尝试新设备,它在iCloud上找不到任何内容.
所以我试着找出iCloud是否正常工作:
NSURL *ubiq = [[NSFileManager defaultManager] URLForUbiquityContainerIdentifier:nil];
if (ubiq) {
NSLog(@"iCloud at %@", ubiq);
} else { …
Run Code Online (Sandbox Code Playgroud) 我正在开发游戏,用户所做的所有进展都将与NSUserDefaults一起保存.是好还是坏?
丢失游戏的几率是多少?有一个更好的方法吗?
当用户同步设备时,iTunes会备份NSUserDefaults吗?因此,如果用户更改了他的设备,他不会失去进度,他只需要将设备与iTunes同步?它有多安全?
如果用户当时没有互联网连接,GameCenter成就也将与NSUserDefaults一起保存.
好吧,我只想知道你的意见/经验.所有代码都运行完美,但我担心玩家可能因某些原因失去进度.
如果有人想要更多关于代码的细节可以免费询问,我可以在这里发布.
谢谢!
是否可以在Xcode上重新打开.xcarchive文件?
我知道这并不常见,但我想完全按照提交到App Store的方式打开一个项目.我没有备份那个确切的版本,所以打开存档副本真的很棒!
在你问我为什么不从商店下载它之前,我必须说这个版本已被批准,并且我的发布正在等待.:)
谢谢!
我正在用 PHP 和 MySQL 建立一个新闻网站。对于用户管理,我正在考虑使用 Firebase Auth。
登录名、密码、电子邮件确认等将由 Firebase 管理。这部分可以使用 Javascript 中的文档轻松实现。
但在某一时刻,Web 应用程序需要知道用户的电子邮件,例如,管理内容并允许访问受限区域,使用 PHP 连接到 MySQL 数据库。
Firebase Auth 使用 JavaScript 来查找电子邮件,例如:
firebase.auth().onAuthStateChanged(function(user) {
var user = firebase.auth().currentUser;
if(user != null){
var email_id = user.email;
}
}
Run Code Online (Sandbox Code Playgroud)
如何安全地让用户电子邮件登录到会话并使用 PHP 发送到服务器端?如何安全地确定会话已过期并使用 PHP 让应用程序知道该情况?是否推荐使用这种方法(Firebase Auth + PHP 网站)?
谢谢!
我被困在使用Swift 5和Xcode 11在后台播放音频的过程中。
启用后台模式和启动AVAudioSession不再起作用,并且当您离开应用程序后,应用程序会在几秒钟后保持关闭状态。
首先,我得到了权利变暖,但是流开始了:
Error acquiring assertion: <NSError: 0x2829830f0; domain: RBSAssertionErrorDomain; code: 2; reason: "Required client entitlement is missing"> {
userInfo = {
RBSAssertionAttribute = <RBSLegacyAttribute: 0x1050a9040; requestedReason: MediaPlayback; reason: MediaPlayback; flags: PreventTaskSuspend | PreventTaskThrottleDown | WantsForegroundResourcePriority>;
}
Run Code Online (Sandbox Code Playgroud)
在背景上几秒钟后关闭时:
[ProcessSuspension] Background task expired while holding WebKit ProcessAssertion (isMainThread? 1).
Run Code Online (Sandbox Code Playgroud)
如果我保持打开应用程序的声音,无论如何都会停止:
[ProcessSuspension] 0x10dfc8848 - ProcessAssertion::processAssertionWasInvalidated()
Run Code Online (Sandbox Code Playgroud)
苹果喜欢每年更改一次。到目前为止,有人在iOS 13和Xcode 11 / Swift 5上工作过吗?
谢谢!
更新:我刚刚发现此问题仅影响通过WebViews播放的音频。我不确定这是否是iOS 13上的错误,或者苹果是否真的从多任务处理中削减了WebViews。因此,我更改了应用程序,现在通过AVPlayer播放音频。背景音频再次起作用。
我正在开发一款新的iOS游戏,并希望通过iCloud在线保存进度.节省是相当频繁的,但它们大多是双打和整数,分数,解锁和NSDate数字.
由于互联网将被要求玩游戏,我想只在线保存游戏,而不是本地.当应用程序打开时,它应该从服务器下载保存的游戏,一旦完成,启动游戏.
在线货币将通过IAP销售,因此我希望确保即使游戏被删除并重新安装也不会丢失进度,当然,也可以在同一用户的多个设备上使用.
最好的方法是什么?是否可以通过iCloud?键值似乎很乱,因为它不能与iCloud快速同步.那么核心数据呢?
我不是在寻找要复制和粘贴的代码,但是我想创建一个讨论来找出这个案例的最佳解决方案,如果它是iCloud,设置我自己的服务器等等.我看到的每个人都说不同的东西,但到目前为止,我找不到最好的解决方案.
谢谢!