swift - iOS 应用程序在使用 Realm 和 Crashlytics 通过 testflight 启动时卡住

标签 swift realm testflight crashlytics twitter-fabric

在提交应用程序进行 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 逐渐消失,屏幕变为白色。它不会崩溃或发生任何事情。

我试过:

  1. 不同版本的 Fabric 和 Crashlytics
  2. 移除 Fabric 和 Crashlytics
  3. 完全移动 Realm 的初始化
  4. 重写应用的启动方式
  5. 不同版本的 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/

相关文章:

ios - 使用 xcode 12.4 构建时,Face ID 从 testflight 失败但不在本地

ios - 将 PFObject 查询到 swift 数组中

ios - 排序快速插入的 Realm 记录

iphone - 如何使用供应配置文件ios获取IPA文件

ios - TestFlight 当前不可用消息

ios - 无法使用 cocoapods 安装 RealmSwift

ios - XLPagerTabStrip ButtonBar 粘在导航栏后面

swift - 如何使用同一个应用程序扫描二维码和条形码?

ios - 如何居中 SKPhysicsBody(纹理 : size:) in a point other than the SKSpriteNode anchor point

mvvm - Realm 和 react 性 cocoa