Home > other >  react-native ios app crashes immediately on simulators and TestFlight installs
react-native ios app crashes immediately on simulators and TestFlight installs

Time:01-04

I am completely at a loss here - I have a react native app created within expo. It runs perfectly well with expo go. I then built it using eas on my Mac (latest Ventura OS installed) and posted it to app store connect and installed it through TestFlight - it crashed immediately. I'm VERY new to this so it took me a long time to figure out how to troubleshoot this but I ended up finding this in the crash logs:

    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

And:

    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

I spent an entire day searching for causes surrounding these errors - there were references to this but nothing related to what I was doing. I then went back to the basics - literally:

    npx create-expo-app TestApp
    eas build:configure
    eas build --platform ios

And loaded this into a simulator (downloaded the ipa file, changed it to a .zip file, transferred the app file to the simulator) and it immediately crashed - but that same build worked in TestFlight so apparently the hack I found to use ipa files in a simulator doesn't work.

So, I'm not sure how best to troubleshoot this other than slowly start from a barebones app, add functionality, and keep building and publishing for TestFlight. I've used various versions of expo, node, eas cli, etc - all giving me the same results.

I tried using ErrorUtils to catch an exception and send the error to my node server but that didn't work (I might have set it up wrong).

I'm not sure how to proceed in troubleshooting this. I haven't used (nor do I know how to) Xcode much outside of using the simulators. Any help would be VERY MUCH appreciated.

CodePudding user response:

After painfully starting from a bare-bones react-native expo app and adding functionality bit by bit, I found the issue was the stack navigator code. Once I had it narrowed down to that, I found this question that described the fact I missed installing the support packages necessary for stack navigation:

    npm install react-native-reanimated react-native-gesture-handler react-native-screens react-native-safe-area-context @react-native-community/masked-view

And that you have to include:

    import 'react-native-gesture-handler';

At the top of your App.js file - but in my case, I had two files with stack navigation so it wasn't enough to include that import just in App.js but also in that other file.

Once I did this, no more crashes!

  • Related