使用Realm和Crashlytics通过testflight启动i​​OS应用程序冻结

时间:2016-03-13 18:53:01

标签: swift realm testflight crashlytics twitter-fabric

在提交Beta审核应用后,它会因在iPad上启动空白屏幕而被拒绝。

我已在多台iphone和模拟器上进行了测试,但无法重现任何内容。重现这一点的唯一方法就是在Testflight应用程序中按下“打开”按钮。按下主屏幕上的图标始终有效(即使在从testflight崩溃的iPad上)。

通过USB连接时,我检查Xcode Devices中的日志:

... <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逐渐消失,屏幕变为白色。它不会崩溃或任何事情。

我试过了:

  1. 不同版本的Fabric和Crashlytics
  2. 删除布料和Crashlytics
  3. 完全移动Realm的初始化
  4. 重写应用程序的启动方式
  5. 不同版本的Realm(0.96和0.98.4)

1 个答案:

答案 0 :(得分:1)

我发现了这个问题,并没有与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
    }

}