React Native iOS应用在模拟器及TestFlight安装后立即崩溃求助
Expo构建iOS应用TestFlight安装后立即崩溃排查求助
我用Expo创建的React Native应用在Expo Go中运行完全正常,但在Mac(Ventura系统)上用EAS构建后上传至App Store Connect,通过TestFlight安装后立即崩溃。花了很长时间找到崩溃日志,内容如下:
崩溃线程日志
Thread 2 name: Dispatch queue: com.facebook.react.ExceptionsManagerQueue Thread 2 Crashed: 0 libsystem_kernel.dylib 0x2076d8200 __pthread_kill + 8 1 libsystem_pthread.dylib 0x217b3a1ac pthread_kill + 268 2 libsystem_c.dylib 0x1d2111c8c abort + 180 3 libc++abi.dylib 0x217a7ab8c abort_message + 132 4 libc++abi.dylib 0x217a6aa80 demangling_terminate_handler() + 336 5 libobjc.A.dylib 0x1c3e11d3c _objc_terminate() + 144 6 libc++abi.dylib 0x217a79f28 std::__terminate(void (*)()) + 20 7 libc++abi.dylib 0x217a79ec4 std::terminate() + 56 8 libdispatch.dylib 0x1d20adff0 _dispatch_client_callout + 40 9 libdispatch.dylib 0x1d20b5694 _dispatch_lane_serial_drain + 672 10 libdispatch.dylib 0x1d20b61e0 _dispatch_lane_invoke + 384 11 libdispatch.dylib 0x1d20c0e10 _dispatch_workloop_worker_thread + 652 12 libsystem_pthread.dylib 0x217b33df8 _pthread_wqthread + 288 13 libsystem_pthread.dylib 0x217b33b98 start_wqthread + 8
线程状态信息
Thread 2 crashed with ARM Thread State (64-bit): x0: 0x0000000000000000 x1: 0x0000000000000000 x2: 0x0000000000000000 x3: 0x0000000000000000 x4: 0x0000000217a7e0f5 x5: 0x000000016b4c6430 x6: 0x000000000000006e x7: 0xffffffff00000600 x8: 0xb1cfaa93a40be1da x9: 0xb1cfaa92cf4791da x10: 0x0000000000000200 x11: 0x000000000000000b x12: 0x000000000000000b x13: 0x00000000001ff800 x14: 0x00000000000007fb x15: 0x000000008c033819 x16: 0x0000000000000148 x17: 0x000000016b4c7000 x18: 0x0000000000000000 x19: 0x0000000000000006 x20: 0x0000000000001603 x21: 0x000000016b4c70e0 x22: 0x0000000000000000 x23: 0x000000016b4c70e0 x24: 0x0000000000000000 x25: 0x0000000280c888e8 x26: 0x0000000000000114 x27: 0x0000000000000000 x28: 0x0000000283787840 fp: 0x000000016b4c63a0 lr: 0x0000000217b3a1ac sp: 0x000000016b4c6380 pc: 0x00000002076d8200 cpsr: 0x40001000 far: 0x000000021e5abf50 esr: 0x56000080 Address size fault
搜索了一整天这些错误原因,没找到相关内容,于是尝试基础操作:
npx create-expo-app TestApp eas build:configure eas build --platform ios
把构建的IPA文件改成.zip后传到模拟器,应用立即崩溃,但同一个包在TestFlight里能正常运行,说明这种加载方法不可行。
目前试过的排查手段:
- 尝试不同版本的Expo、Node、EAS CLI,结果一致
- 尝试用ErrorUtils捕获异常发送到Node服务器,未成功(可能配置错误)
除了从空白应用逐步加功能、反复构建上传TestFlight外,不知道还有什么更好的排查方法。不太会用Xcode,求帮助。
内容的提问来源于stack exchange,提问作者Elliot Barnett
相关产品推荐
相关产品推荐

