代码之家  ›  专栏  ›  技术社区  ›  Aakash Dave

应用程序因发布时崩溃而两次被拒绝

  •  0
  • Aakash Dave  · 技术社区  · 7 年前

    我有一个内置于swift的iOS应用程序。我第一次成功地通过了审查。昨天,在提供更新时,我因“发布时崩溃”而被拒绝。我有以下象征性的崩溃日志,我正在尝试对其进行分析,在大多数情况下,我可以说这是发布时确实完成的问题。我在这个问题上仍然很胆小。

    根据日志,崩溃的实际问题是什么?我如何解决这个问题?

    以下是2个崩溃日志:

    崩溃日志-

    Log 1

    Log 2

    以下是 didFinishLaunching 在第一次提交时,这一点被接受:

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    
    
        #if DEVELOPMENT
            print("Development Mode Started")
            let filePath = Bundle.main.path(forResource: "GoogleService-Info", ofType: "plist")
            guard let fileopts = FirebaseOptions.init(contentsOfFile: filePath!)
                else {
                    fatalError("Couldn't load config file")
            }
            FirebaseApp.configure(options: fileopts)
        #else
            print("Production Mode Started")
            FirebaseApp.configure()
        #endif
    
    
        Messaging.messaging().delegate = self
        IQKeyboardManager.sharedManager().enable = true
        Fabric.with([Crashlytics.self, Appsee.self])
    
        let uid = KeychainWrapper.standard.string(forKey: KEY_UID)
    
        if uid != nil {
            checkforAccess()
        }
    
        return true
    }
    

    当这是在 didFinishLaunchin ,我有另一个观察者在另一个视图上,这是initialVC。这同时也在检查用户是否存在,如果没有,将显示“BootVC”,这与AppDelegate中的上述方法类似。

    我意识到并删除了这一点,但我关心的是,日志中是否有我遗漏的其他信息。

    P、 S:我在一个全新的环境中,在一个全新的设备上运行了这个应用程序,该设备带有测试版软件。当时和现在都没有撞车。

    如有任何意见,我们将不胜感激。

    如果需要更多信息,请告诉我。我会及时的。

    1 回复  |  直到 7 年前
        1
  •  1
  •   Mayur Prajapati    7 年前

    作为初始级别,您的问题看起来非常不明确。此外,崩溃日志没有定义确切的问题。

    可能的问题:

    • 检查崩溃问题是否仅发生在arm 64设备上。如果是,则应检查您的应用程序是否已启用base 64支持;如果 不超过提供支持
    • 另一个原因是,如果你的应用程序访问隐私敏感数据,如位置跟踪或访问照片库等 未经许可,也将在发射时关闭

    要获得解决方案,请执行以下操作:

    • 要简单地获得准确的崩溃报告,请在应用程序中使用crashlytics工具。它将帮助您找到发生崩溃的线路
    • 另一种常见的方法是尝试&调试环境上的测试应用程序;启用异常断点

    enter image description here

    希望这对你有帮助。