应用程序在运行 iOS 9.3.5 并连接到 IPv6 的 iPad 和 iPhone 上崩溃
Posted
技术标签:
【中文标题】应用程序在运行 iOS 9.3.5 并连接到 IPv6 的 iPad 和 iPhone 上崩溃【英文标题】:App crashes on iPad and iPhone running iOS 9.3.5 connected to an IPv6 【发布时间】:2016-09-06 10:05:11 【问题描述】:我已将应用程序提交到 iTunes 连接,但它被拒绝指定当它在 IPV6 上运行时应用程序崩溃。通过注意到我之前提交了另一个具有相同 100% 配置的应用程序,并且使用了最新的 AFNetworking,它被接受并且几乎相同的功能。我已经在发布中测试了我的应用程序,调试版本它根本没有崩溃。
引用苹果拒绝的文字:
1 性能:应用程序完整性性能 - 2.1
您的应用在运行 ios 9.3.5 的 iPad 和 iPhone 上崩溃,连接到 当我们使用 IPv6 网络时:
当我们尝试创建一个帐户时,我们添加了一个电话号码并点击了 在“完成”时,应用程序崩溃了。
这发生在您的应用被使用时:
离线 在 Wi-Fi 上我们附上了详细的崩溃日志以帮助解决此问题。
他们附上了两个崩溃日志,它上传到(谷歌驱动器):
https://drive.google.com/file/d/0B32ROW7V8Fj4M0JsS0NCNXNoWVk/view?usp=sharing https://drive.google.com/file/d/0B32ROW7V8Fj4NFJtY1J5YU9KY1E/view?usp=sharing
关键是崩溃日志它根本没有指定任何内容!以及它不会崩溃的应用程序<.>
【问题讨论】:
您需要在仅 IPv6 的环境中检查它 你解决了吗? 【参考方案1】:inApp 的代码应该只添加一次事务观察器,如下所示。
SKPaymentQueue.defaultQueue().addTransactionObserver(self)
应该只写在 didLoad() 中,并且必须只有一次。然后您的 Ap 将通过崩溃保存。在应用程序中。我和你遇到了同样的问题。
【讨论】:
【参考方案2】:应用程序从未崩溃的场景,Apple 所说的关于应用程序崩溃的说法并没有产生任何影响,解决问题的方法分为两个步骤:
1- 在服务器端有一个修复,它在不支持 IPV6 的情况下使用 Microsoft Assure,因此已部署修复以支持 IPV6,并为 api 请求提供新的基本 URL。
2- 在过去提交到 App Store 时,我没有提供 Apple 的演示帐户,我认为这也是 Apple 以未知崩溃拒绝该应用程序的原因之一。所以这次我确实给了他们一个模拟账户,无需注册即可访问。
【讨论】:
以上是关于应用程序在运行 iOS 9.3.5 并连接到 IPv6 的 iPad 和 iPhone 上崩溃的主要内容,如果未能解决你的问题,请参考以下文章
指南 2.1 - 性能 在我们审核期间,您的应用在运行 iOS 11.2.5 并连接到 IPv6 网络的 iPad 或 iPhone 上崩溃