ios - 从应用商店下载的应用程序在 9.3 低版本设备中崩溃

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

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

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

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

最佳答案

已解决!

我没有注意到我已经用最新版本的Xcode——Xcode 8.2.1编译和上传了这个版本,当我换到旧的IDE后,我发现一切都正常了。我还找到了一些有用的文件 there还有一些开发者也统计过类似的问题,这是他们的discussion .

所以解决这个问题的最后方法是DELETE P3 颜色空间和 16 位图像。

步骤:

  1. 创建可检查的 .ipa 文件。在 Xcode Organizer(Xcode->Window->Organizer)中,选择要检查的文件,单击“Export...”,然后选择“Export for Enterprise or Ad-Hoc Deployment”。这将创建 .应用程序的 ipa 文件。

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

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

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

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

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

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

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

关于ios - 从应用商店下载的应用程序在 9.3 低版本设备中崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42050549/

相关文章:

java - 如何让我的 jar 应用程序生成崩溃日志文件?

ios - 应用程序在发布版本中崩溃但在调试中不崩溃

ios - 获取 View 大小而不是调整大小

android - 用于测试 native 应用程序的暂存商店

ios - TextView 计数器输入和计数新行 Swift IOS

iphone - 应用商店 : blocking the game for 3G- devices

ios - 当我已经从 AppStore 下载了应用程序时,通过 xcode 在我的设备上运行应用程序

c# - C# 我的应用程序中崩溃报告的最佳实践

ios - 在集成 SponsorPay 积分墙方面需要帮助

iphone - 自定义、无图像的 UIButton 标题消失