在提交应用程序进行 Beta 审核后,它会因在 iPad 上启动时出现空白屏幕而被拒绝。
我已经在多个 iPhone 和模拟器上进行了测试,但无法重现任何内容。重现这一点的唯一方法是按下 Testflight 应用程序本身内的“打开”按钮。按主屏幕上的图标始终有效(即使在 iPad 上因测试飞行而崩溃)。
通过 USB 连接时,我检查 Xcode 设备中的日志:
... <Warning>: [Crashlytics] Version 3.7.0 (102)
... <Warning>: [Crashlytics:Crash] Warning: NSUncaughtExceptionHandler is '_ZZ34RLMInstallUncaughtExceptionHandlerEN3$_08__invokeEP11NSException' in '/private/var/mobile/Containers/Bundle/Application/DF8A0CBE-99D1-4466-ACAE-F1BB7D8DA4BC/Feeder.app/Frameworks/Realm.framework/Realm'
在最后一行它就停止了。没有更多的调试消息。 launchscreen.xib 逐渐消失,屏幕变为白色。它不会崩溃或发生任何事情。
我试过:
- 不同版本的 Fabric 和 Crashlytics
- 移除 Fabric 和 Crashlytics
- 完全移动 Realm 的初始化
- 重写应用的启动方式
- 不同版本的 Realm(0.96 和 0.98.4)
最佳答案
我发现了这个问题,它与 Realm 或 Crashlytics 无关。我的 AppDelegate 中有这段代码:
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// This breaks it
for window in application.windows {
window.backgroundColor = UIColor.whiteColor()
}
// this works...
// window?.backgroundColor = UIColor.whiteColor()
return true
}
}
关于swift - iOS 应用程序在使用 Realm 和 Crashlytics 通过 testflight 启动时卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35974332/