首页 > 解决方案 > ios 应用程序在基于 xcode 12.2 构建的 ios 14 上启动后崩溃

问题描述

ios 应用程序在任何 arm64、arm7 上存档,当安装在真实设备上时,启动后崩溃。在模拟器中调试和发布工作正常。看起来捆绑包没有加载。

重现步骤

npx react-native init testprod --template react-native-template-typescript
open testprod.xcworkspace
build and run
archive
export the ipa
run it reald revice (or use browserstack)

https://drive.google.com/file/d/1le9LaEAD8nODxK0XN0st5UIzqq_dJ3i-/view?usp=sharing

这是打包的应用程序。

到达那里的步骤;

npx react-native init testprod --template react-native-template-typescript open testprod.xcworkspace archive export the ipa run it reald revice(或使用 browserstack) 发布链上有一个链接错误。通过在此处修复Xcode 12,为 iOS 模拟器构建,但在为 iOS 构建的目标文件中链接,用于架构 arm64

应用程序因此崩溃

Thread 0 crashed with ARM Thread State (64-bit):
    x0: 0x000000000000000e   x1: 0x0000000000000003   x2: 0x0000000000000028   x3: 0x0000000000000030
    x4: 0x0000000000000603   x5: 0x0000000000000000   x6: 0x0000000000000000   x7: 0x0000000000000403
    x8: 0x0000000000000000   x9: 0x0000000000000000  x10: 0xffffffffffffffff  x11: 0x0000000000000000
   x12: 0x000000028135f138  x13: 0x000000000000ffef  x14: 0x0080000000000000  x15: 0x0000004000000001
   x16: 0xffffffffffffffdc  x17: 0x0000000000000001  x18: 0x0000000000000000  x19: 0x0000000281e53420
   x20: 0x0000000281e533e0  x21: 0xffffffffffffffff  x22: 0x0000000000000001  x23: 0x00000001d4693a71
   x24: 0x0000000000000000  x25: 0x00000001d4256b0b  x26: 0x000000002b870064  x27: 0x0000000000000010
   x28: 0x0000000000000000   fp: 0x000000016cf24e10   lr: 0x000000018d02318c
    sp: 0x000000016cf24e00   pc: 0x00000001b7dc6680 cpsr: 0x60000000
   esr: 0x56000080  Address size fault

链接到问题https://github.com/facebook/react-native/issues/30500

标签: iosxcodereact-native

解决方案


在真实设备上运行时最有可能设置一个valid development teamdevelopment/production certificates并且provisioning profile应该修复这些类型的问题

您可以在您的 Apple 项目帐户中创建一个有效的开发团队,并将其设置为Xcode->YourProjectTarget->Signing Capabilities.

注意: 为了调试应用程序在真实设备上而不是在模拟器上崩溃的原因,我会尝试创建一个存档并验证它。 您应该在存档或验证过程中获得有关该问题的更多信息。


推荐阅读