【问题标题】:iOS app freeze when launched through testflight with Realm and CrashlyticsiOS 应用程序在使用 Realm 和 Crashlytics 通过 testflight 启动时冻结
【发布时间】:2016-03-13 18:53:01
【问题描述】:

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

我已经在多个 iphone 和模拟器上进行了测试,但无法重现任何内容。重现这一点的唯一方法是在 Testflight 应用程序本身中按下“打开”按钮。按主屏幕上的图标始终有效(即使是在从 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 消失,屏幕变为白色。它不会崩溃或任何事情。

我试过了:

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

【问题讨论】:

  • 您是否尝试过使用“发布”配置在本地构建和运行应用程序以查看问题是否出现?此外,刚刚发布了一个全新的Realm版本,0.98.5;你试过了吗?

标签: swift realm testflight crashlytics twitter-fabric


【解决方案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
    }

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-18
    • 2014-05-24
    • 1970-01-01
    • 2019-11-16
    • 2021-08-18
    • 1970-01-01
    相关资源
    最近更新 更多