Internal distribution build crash

After upgrading my app to Expo SDK 46, the debug build on simulator worked fine, so i created an Internal distribution build to see if it’s working as well, and after installing it on my phone it crashes on the SplashScreen. After many hours of trying to see where the crash is coming from I managed to “translate” part of the crash logs coming from Xcode and I still have no idea how to fix the problem.

My env invo

  expo-env-info 1.0.5 environment info:
    System:
      OS: macOS 12.5
      Shell: 5.8.1 - /bin/zsh
    Binaries:
      Node: 16.17.0 - ~/.nvm/versions/node/v16.17.0/bin/node
      npm: 8.19.2 - ~/.nvm/versions/node/v16.17.0/bin/npm
      Watchman: 2022.08.22.00 - /usr/local/bin/watchman
    SDKs:
      iOS SDK:
        Platforms: DriverKit 21.4, iOS 15.5, macOS 12.3, tvOS 15.4, watchOS 8.5
    IDEs:
      Android Studio: 2021.2 AI-212.5712.43.2112.8512546
      Xcode: 13.4.1/13F100 - /usr/bin/xcodebuild
    npmPackages:
      expo: ^46.0.15 => 46.0.15 
      react: 18.0.0 => 18.0.0 
      react-dom: 18.0.0 => 18.0.0 
      react-native: 0.69.6 => 0.69.6 
      react-native-web: ~0.18.7 => 0.18.9 
    npmGlobalPackages:
      eas-cli: 2.3.0
      expo-cli: 6.0.6
    Expo Workflow: bare

XCode crash log

Thread 0 name: Dispatch qeue com.apple.main-thread
Therad 0 crashed:
0   myappname              	0x0000000104bf2638 specialized ExpoUpdatesReactDelegateHandler.appController(_:didStartWithSuccess:) + 763448 (ExpoUpdatesReactDelegateHandler.swift:80)
1   myappname              	0x0000000104bf2378 specialized ExpoUpdatesReactDelegateHandler.appController(_:didStartWithSuccess:) + 762744 (ExpoUpdatesReactDelegateHandler.swift:80)
2   myappname              	0x0000000104bf1988 @objc ExpoUpdatesReactDelegateHandler.appController(_:didStartWithSuccess:) + 760200 (<compiler-generated>:0)
3   myappname              	0x0000000104bce828 __73-[EXUpdatesAppController appLoaderTask:didFinishWithLauncher:isUpToDate:]_block_invoke + 616488 (EXUpdatesAppController.m:262)
4   libdispatch.dylib             	0x00000001a370e2b0 _dispatch_call_block_and_release + 24
5   libdispatch.dylib             	0x00000001a370f298 _dispatch_client_callout + 16
6   libdispatch.dylib             	0x00000001a36f1430 _dispatch_main_queue_callback_4CF$VARIANT$armv81 + 872
7   CoreFoundation                	0x00000001a3a562e0 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12
8   CoreFoundation                	0x00000001a3a50740 __CFRunLoopRun + 2528
9   CoreFoundation                	0x00000001a3a4f818 CFRunLoopRunSpecific + 572
10  GraphicsServices              	0x00000001ba155570 GSEventRunModal + 160
11  UIKitCore                     	0x00000001a637b0e8 -[UIApplication _run] + 1052
12  UIKitCore                     	0x00000001a6380664 UIApplicationMain + 164
13  myappname              	0x0000000104b3e87c main + 26748 (main.m:7)
14  libdyld.dylib                 	0x00000001a372e140 start + 4

If needed I can attach the full crash file.

This happened to us yesterday and exception pointed to expo-updates package. Can you please try removing expo-updates related code in app startup and try once?

I just decided to try installing a build on an Android simulator, so I can see at least if the Android build is okay, and it turned out to be from the expo-updates like you just said. The problem on android was that i changed the releaseChannel value in eas.json and i haven’t made a “expo publish --release-channel new-value”, which to be honest i didn’t know i had to do every time i changed my release channel. I will try the IOS build again in a minute, hopefully that fixed it.

The issue persists on iOS builds and after quite some time I’m still stuck. According to the blog post for Expo SDK 45 I upgraded my AppDelagate from .m to .mm and now the expo-updates setup guide is very confusing to me. On SDK 45 the updates were working fine. @chintanpshah did you manage to fix the issue without removing expo-updates ?

Ive solved this by adding the expo modules via npm.

npm install expo-modules-core
npm install expo-contants