React Native 移动应用程序在 TestFlight 中崩溃,但在 Expo Go 中正常工作

问题描述 投票:0回答:1

我们用 React Native 开发的移动应用程序使用 Expo Go 进行了测试,并且按预期工作。然而,当我们转向使用 TestFlight 进行部署和测试时,我们发现某个特定按钮导致应用程序在 testflight 中崩溃。以前有其他人经历过类似的事情吗?下面是我们得到的崩溃日志。 (出于隐私原因插入[已编辑])

Exception Codes: 0x0000000000000000, 0x0000000000000000
Termination Reason: SIGNAL 6 Abort trap: 6
Terminating Process: [redacted] [5827]
Triggered by Thread:  2
Application Specific Information:
abort() called
Last Exception Backtrace:
0   CoreFoundation                         0x198ee269c __exceptionPreprocess + 164
1   libobjc.A.dylib                        0x191177c80 objc_exception_throw + 60
2   [redacted]                             0x100a34fd4 0x1008e8000 + 1363924
3   [redacted]                             0x100aa32b0 0x1008e8000 + 1815216
4   [redacted]                             0x100aa3ae4 0x1008e8000 + 1817316
5   CoreFoundation                         0x198e27794 __invoking___ + 148
6   CoreFoundation                         0x198e2722c -[NSInvocation invoke] + 428
7   CoreFoundation                         0x198e27054 -[NSInvocation invokeWithTarget:] + 64
8   [redacted]                             0x100a644c4 0x1008e8000 + 1557700
9   [redacted]                             0x100a66514 0x1008e8000 + 1565972
10  [redacted]                             0x100a66164 0x1008e8000 + 1565028
11  libdispatch.dylib                      0x1a0deb6a8 _dispatch_call_block_and_release + 32
12  libdispatch.dylib                      0x1a0ded300 _dispatch_client_callout + 20
13  libdispatch.dylib                      0x1a0df4894 _dispatch_lane_serial_drain + 748
14  libdispatch.dylib                      0x1a0df53c4 _dispatch_lane_invoke + 380
15  libdispatch.dylib                      0x1a0e00004 _dispatch_root_queue_drain_deferred_wlh + 288
16  libdispatch.dylib                      0x1a0dff878 _dispatch_workloop_worker_thread + 404
17  libsystem_pthread.dylib                0x202e1b964 _pthread_wqthread + 288
18  libsystem_pthread.dylib                0x202e1ba04 start_wqthread + 8
Thread 0 name:   Dispatch queue: com.apple.main-thread
Thread 0:
0   libsystem_kernel.dylib                 0x1e0555178 mach_msg2_trap + 8
1   libsystem_kernel.dylib                 0x1e0554f10 mach_msg2_internal + 80
2   libsystem_kernel.dylib                 0x1e0554e28 mach_msg_overwrite + 436
3   libsystem_kernel.dylib                 0x1e0554c68 mach_msg + 24
4   CoreFoundation                         0x198e2bb1c __CFRunLoopServiceMachPort + 160
5   CoreFoundation                         0x198e29a14 __CFRunLoopRun + 1208
6   CoreFoundation                         0x198e29478 CFRunLoopRunSpecific + 608
7   GraphicsServices                       0x1dc3aa4f8 GSEventRunModal + 164
8   UIKitCore                              0x19b24d62c -[UIApplication _run] + 888
9   UIKitCore                              0x19b24cc68 UIApplicationMain + 340
10  [redacted]                             0x1008efa3c 0x1008e8000 + 31292
11  dyld                                   0x1bbb62dcc start + 2240
Thread 1:
0   libsystem_pthread.dylib                0x202e1b9fc start_wqthread + 0
Thread 2 name:   Dispatch queue: com.facebook.react.ExceptionsManagerQueue
Thread 2 Crashed:
0   libsystem_kernel.dylib                 0x1e055dfbc __pthread_kill + 8
1   libsystem_pthread.dylib                0x202e1f680 pthread_kill + 268
2   libsystem_c.dylib                      0x1a0ea5b90 abort + 180
3   libc++abi.dylib                        0x202d49ff8 abort_message + 132
4   libc++abi.dylib                        0x202d39f90 demangling_terminate_handler() + 348
5   libobjc.A.dylib                        0x19117ada4 _objc_terminate() + 144
6   libc++abi.dylib                        0x202d493bc std::__terminate(void (*)()) + 16
7   libc++abi.dylib                        0x202d49360 std::terminate() + 108
8   libdispatch.dylib                      0x1a0ded314 _dispatch_client_callout + 40
9   libdispatch.dylib                      0x1a0df4894 _dispatch_lane_serial_drain + 748
10  libdispatch.dylib                      0x1a0df53c4 _dispatch_lane_invoke + 380
11  libdispatch.dylib                      0x1a0e00004 _dispatch_root_queue_drain_deferred_wlh + 288
12  libdispatch.dylib                      0x1a0dff878 _dispatch_workloop_worker_thread + 404
13  libsystem_pthread.dylib                0x202e1b964 _pthread_wqthread + 288
14  libsystem_pthread.dylib                0x202e1ba04 start_wqthread + 8

不太确定从哪里开始/这里会发生什么以及如何解决我们的问题。

react-native testflight mobile-application
1个回答
0
投票

似乎只有当应用程序使用发布标志运行时才能重现该问题。我对 Expo 不太熟悉,但是使用react-native-cli 你可以做两件事。

  1. react-native run-ios --mode Release
    (这样你就可以在release模式下运行应用程序并直接在XCode中查看日志)
  2. 这有点复杂,但您可以将当前的 js 代码与
    react-native bundle --dev false --platform ios --entry-file index.js --bundle-output ios/main.jsbundle --assets-dest ios
    捆绑在一起,然后您可以 启动 Metro 服务器 运行应用程序并杀死 Metro 服务器,想法是应用程序现在将加载从第一个命令创建的捆绑包,您可能能够重现该问题。

这可能会有所帮助 - 如何从发布渠道开始举办博览会

© www.soinside.com 2019 - 2024. All rights reserved.