从appstore下载的应用程序在9.3较低版本的设备中崩溃

时间:2017-02-05 09:40:32

标签: ios app-store crash-reports twitter-fabric

当我在AppStore中发布我的应用程序时,一些用户反馈说我们的应用程序在打开时崩溃了,这种情况只发生在iOS 9.2.x设备上。

我在我的测试设备中调试了应用程序。但是在调试模式下,崩溃不再发生,我从App Store下载应用程序,再次发生崩溃。更奇怪的是,Fabric无法捕获任何崩溃报告。

我该怎么做才能找到崩溃的原因并解决此问题。有人有类似的情况吗?

1 个答案:

答案 0 :(得分:3)

解决!

我没有注意到我已经通过最新版本的Xcode编译和上传这个版本 - Xcode 8.2.1。在我改用旧的IDE之后,我发现每件事情都变好了。我找到了一些有用的文档there,一些开发人员也计算了类似的问题,这是他们的discussion

因此,解决此问题的最终方法是 删除 P3色彩空间和16位图片。

步骤:

  1. 创建一个Inspectable .ipa文件。在Xcode Organizer(Xcode-> Window-> Organizer)中,选择要检查的存档,单击“导出..."”,然后选择“#34;导出企业版或Ad-Hoc部署" 。这将为您的应用创建.ipa文件的本地副本。

  2. 找到.ipa文件并将其扩展名更改为.zip。

  3. 展开.zip文件。这将生成一个包含.app包的Payload文件夹。

  4. 打开终端并将工作目录更改为.app软件包的顶级 cd path / to / Payload / your.app

  5. 使用find工具在.app包中找到Assets.car文件,如下所示: 找 。 -name' Assets.car'

  6. 使用assetutil工具在您的应用程序具有的每个Assets.car中查找任何16位或P3资产,如下所示。 : sudo xcrun --sdk iphoneos assetutil --info /path/to/a/Assets.car> /tmp/Assets.json

  7. 检查生成的/tmp/Assets.json并查找包含“DisplayGamut":”P3“及其相关”名称"的任何内容。这将是包含一个或多个16位或P3资产的图像集的名称。

  8. 用8位/ sRGB资产替换这些资产,然后重建您的应用。