更新后的二进制文件被AppStore拒绝。

19
我有一个在iOS应用商店中的Swift应用程序,已经发布并进行了新的更新,版本为1.5。只有一些小修复,最大的修复是我实现了Firebase Crash Analytics。 我可以在调试模式下编译应用程序,并且Firebase Crash报告工作正常(我可以在仪表板中看到错误出现)。 但是当我将此二进制文件提交给Apple时,他们拒绝了它。我认为可能是错误的配置文件,因此我创建了一个新的配置文件并再次提交。 在两种情况下,我都收到了此消息和二进制文件的拒绝:
“Performance - 2.1”
我们无法审核您的应用程序,因为它在启动时崩溃。不幸的是,没有产生任何崩溃日志。
"Next Steps"
请修改您的应用程序并在连接到IPv6网络的设备上进行测试(所有应用程序必须支持IPv6),以确保它能够在不崩溃的情况下启动。
我回复说我没有任何IPv6服务器,我的办公室或家庭的ISP也没有准备好IPv6,那么我该如何测试呢... 他们回答:
感谢您的回复。经过查看您的回复,似乎最好由苹果开发者技术支持来解决您的问题,他们可以提供离散的代码层面的帮助。
为了确保DTS工程师能够最好地帮助您,请务必在请求中包括任何可用的符号化崩溃日志、屏幕截图或重现问题的步骤。
有关如何阅读或符号化崩溃日志的信息,请参见技术说明TN2151《了解和分析iPhone OS应用程序崩溃报告》。
在这里的评论指向了一个指南后,我测试了我的应用程序的IPv6兼容性,结果是OK的,应用程序下载内容并正常工作。
我告诉他们再次检查二进制文件,他们提供了这个错误日志:
Aug 17 17:45:35 Apps-iPhone kernel[0] <Notice>: xpcproxy[261] Container: /private/var/mobile/Containers/Data/Application/E6D8144E-8FD7-4473-9BC7-476AC46B7E2D (sandbox)
Aug 17 17:45:35 Apps-iPhone com.apple.xpc.launchd[1] <Error>: assertion failed: 13F69: launchd + 116796 [9F6284CF-8A17-36CC-9DB5-85D510A21F14]: 0x3
Aug 17 17:45:35 Apps-iPhone AppName[261] <Warning>: WARNING: Firebase Analytics App Delegate Proxy is disabled. To log deep link campaigns manually, call the methods in FIRAnalytics+AppDelegate.h.
Aug 17 17:45:35 Apps-iPhone AppName[261] <Warning>: Configuring the default app.
Aug 17 17:45:35 Apps-iPhone kernel[0] <Notice>: Sandbox: AppName(261) deny(1) file-write-create /private/var/containers/Bundle/Application/FIREBASE_UNIQUE_INSTALL
Aug 17 17:45:35 Apps-iPhone AppName[261] <Warning>: Firebase Crash Reporting: Successfully enabled
Aug 17 17:45:35 Apps-iPhone AppName[261] <Notice>: <FIRAnalytics/INFO> Firebase Analytics v.3300000 started
Aug 17 17:45:35 Apps-iPhone AppName[261] <Notice>: <FIRAnalytics/INFO> To enable debug logging set the following application argument: -FIRAnalyticsDebugEnabled
Aug 17 17:45:36 Apps-iPhone kernel[0] <Notice>: Sandbox: AppName(261) deny(1) file-write-create /private/var/containers/Bundle/Application/FIREBASE_LAST_TIMESTAMP
Aug 17 17:45:37 Apps-iPhone AppName[261] <Notice>: <FIRAnalytics/INFO> Firebase Analytics enabled
Aug 17 17:45:37 Apps-iPhone SpringBoard[63] <Warning>: HW kbd: Failed to set (null) as keyboard focus
Aug 17 17:45:37 Apps-iPhone SpringBoard[63] <Warning>: UNNotificationRegistrarConnectionListener connection invalidated
Aug 17 17:45:37 Apps-iPhone com.apple.xpc.launchd[1] (UIKitApplication:com.example.AppName[0xb5f7][261]) <Warning>: Service exited with abnormal code: 6
Aug 17 17:45:38 Apps-iPhone com.apple.CDScheduler[26] <Error>: UserNextSleepPeriod value from context store is (null)
Aug 17 17:45:38 Apps-iPhone com.apple.CDScheduler[26] <Error>: Failed to get user inactivity forecast
Aug 17 17:45:38 Apps-iPhone UserEventAgent[26] <Warning>: [autosu error]: SPI for AutoSU: probabilityVector is empty
Aug 17 17:45:38 Apps-iPhone com.apple.CDScheduler[26] <Error>: AutoSu doesn't have any prediction yet
Aug 17 17:45:38 Apps-iPhone com.apple.CDScheduler[26] <Error>: Failed to get device restart forecast
Aug 17 17:45:38 Apps-iPhone locationd[72] <Notice>: Location icon should now be in state 'Active'
Aug 17 17:45:38 Apps-iPhone SpringBoard[63] <Warning>: Application 'UIKitApplication:com.example.AppName[0xb5f7]' exited voluntarily.
Aug 17 17:45:38 Apps-iPhone UserEventAgent[26] <Warning>: 11137830750: id=com.example.AppName pid=261, state=0
Aug 17 17:45:38 Apps-iPhone locationd[72] <Error>: WIFI_SCAN: scan result is too long, 372
Aug 17 17:45:38 Apps-iPhone locationd[72] <Error>: WIFI_SCAN: scan result is too long, 381
Aug 17 17:45:44 Apps-iPhone locationd[72] <Error>: WIFI_SCAN: scan result is too long, 374
Aug 17 17:45:46 Apps-iPhone eventkitsyncd[196] <Notice>: (Error) CompanionSync: <SYFileTransferSyncEngine.m -[SYFileTransferSyncEngine service:account:identifier:didSendWithSuccess:error:context:]:989> Error sending session via file-transfer: Error Domain=com.apple.identityservices.error Code=23 "Timed out" UserInfo={NSLocalizedDescription=Timed out, NSUnderlyingError=0x12f64bd10 {Error Domain=com.apple.ids.idssenderrordomain Code=12 "(null)"}}
Aug 17 17:45:46 Apps-iPhone eventkitsyncd[196] <Notice>: (Error) CompanionSync: <SYService.m -[SYService handleSyncError:forMessageWithIdentifier:]:1588> Sync error occurred: Error Domain=com.apple.identityservices.error Code=23 "Timed out" UserInfo={NSLocalizedDescription=Timed out, NSUnderlyingError=0x12f64bd10 {Error Domain=com.apple.ids.idssenderrordomain Code=12 "(null)"}}
Aug 17 17:45:48 Apps-iPhone locationd[72] <Notice>: Location icon should now be in state 'Inactive'

如何解决问题并通过更新审批?

很难给出建议,因为我们无法重现这个问题。 - Charlie Fish
有没有一种方法可以测试我的发布版本,以便我可以看到它在哪里崩溃? - Mazel Tov
首先,苹果很可能附有崩溃报告,您应该将其附加到此问题上。其次,任何第三方SDK都无法报告发生在启动时的崩溃,因为它们需要您的应用程序至少启动并运行几秒钟才能捕获和发送崩溃报告。 - Kerni
您可以尝试使用开发或 Ad-hoc 配置文件重新签名您发送给苹果的应用,并将其安装在您的设备之一上。如果出现崩溃,则应该会有崩溃报告或至少在设备控制台日志中输出信息。 - Kerni
我曾经遇到过类似的问题,使用了这个答案http://stackoverflow.com/a/41462025/4944007后,我发现我没有正确处理iOS权限拒绝的情况,导致应用程序崩溃。尝试重新安装您的应用程序,并拒绝所有用户权限,例如推送通知权限,看看是否会崩溃。 - Ismail Iqbal
显示剩余4条评论
1个回答

2

这方面已经有一个很好的讨论:

https://groups.google.com/forum/#!topic/firebase-talk/t61zHXvuR3U

似乎问题可能与IPv6无关。

我看到你在最后几行中出现了以下错误:

Aug 17 17:45:44 Apps-iPhone locationd[72] <Error>: WIFI_SCAN: scan result is too long, 374

可能是因为当某个苹果公司的人进行测试时,他们周围有很多WiFi连接,导致扫描列表很长,Firebase API无法处理并导致超时。

当您尝试时,您可能处于不同的情况下,并且从未达到失败条件。

如果可能,请到公共场所并连接到许多WiFi连接,然后您也可以重现此问题。

希望这有所帮助。

此致, Mukund


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接