Hello Everyone,
After the update from Expo 45 to 47 I have a problem with the Preview and Production Builld IOS builds of the App. The Android part works fine. When I create an development build (eas build --profile development --platform ios
) there is no problem. But the preview and production builds crash directly after opening the App for the second time. The first time the app is opened it works as expected.
…
Exception Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000001, 0x0000000105004e40
Termination Reason: SIGNAL 5 Trace/BPT trap: 5
Terminating Process: exc handler [726]
Triggered by Thread: 7
…
Thread 7 name: Dispatch queue: com.apple.root.user-interactive-qos
Thread 7 Crashed:
0 MY_APP_NAME 0x105004e40 facebook::jsi::WithRuntimeDecorator<facebook::react::(anonymous namespace)::ReentrancyCheck, facebook::jsi::Runtime, facebook::jsi::Runtime>::Around::Around(facebook::react::(anonymous namespace)::ReentrancyCheck&) + 2543168 (decorator.h:748)
1 MY_APP_NAME 0x105004dd8 facebook::jsi::WithRuntimeDecorator<facebook::react::(anonymous namespace)::ReentrancyCheck, facebook::jsi::Runtime, facebook::jsi::Runtime>::Around::Around(facebook::react::(anonymous namespace)::ReentrancyCheck&) + 2543064 (decorator.h:748)
2 MY_APP_NAME 0x105002db8 facebook::jsi::WithRuntimeDecorator<facebook::react::(anonymous namespace)::ReentrancyCheck, facebook::jsi::Runtime, facebook::jsi::Runtime>::createObject() + 2534840 (decorator.h:594)
3 MY_APP_NAME 0x104e249b0 -[EXJavaScriptRuntime createObject] + 575920 (EXJavaScriptRuntime.mm:77)
4 MY_APP_NAME 0x104e26044 -[EXJavaScriptRuntime initializeMainObject] + 581700 (EXJavaScriptRuntime.mm:193)
5 MY_APP_NAME 0x104e24900 -[EXJavaScriptRuntime initWithRuntime:callInvoker:] + 575744 (EXJavaScriptRuntime.mm:63)
6 MY_APP_NAME 0x104e2ae0c +[EXJavaScriptRuntimeManager runtimeFromBridge:] + 601612 (EXJSIInstaller.mm:0)
7 MY_APP_NAME 0x104e6b30c ExpoBridgeModule.javaScriptWillStartExecutingNotification(_:) + 865036 (ExpoBridgeModule.swift:76)
8 MY_APP_NAME 0x104e6b5cc @objc ExpoBridgeModule.javaScriptWillStartExecutingNotification(_:) + 865740 (<compiler-generated>:0)
9 CoreFoundation 0x19862b404 __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 148
10 CoreFoundation 0x1986d2474 ___CFXRegistrationPost_block_invoke + 88
11 CoreFoundation 0x1986b5724 _CFXRegistrationPost + 440
12 CoreFoundation 0x19863fa08 _CFXNotificationPost + 704
13 Foundation 0x192a38ffc -[NSNotificationCenter postNotificationName:object:userInfo:] + 92
14 MY_APP_NAME 0x104f348a0 __51-[RCTCxxBridge executeApplicationScript:url:async:]_block_invoke + 1689760 (RCTCxxBridge.mm:1504)
15 MY_APP_NAME 0x104f38c08 facebook::react::tryAndReturnError(std::__1::function<void ()> const&) + 1707016 (function.h:0)
16 MY_APP_NAME 0x104f2ee34 -[RCTCxxBridge _tryAndHandleError:] + 1666612 (RCTCxxBridge.mm:344)
17 MY_APP_NAME 0x104f34774 -[RCTCxxBridge executeApplicationScript:url:async:] + 1689460 (RCTCxxBridge.mm:1541)
18 MY_APP_NAME 0x104f345e4 -[RCTCxxBridge enqueueApplicationScript:url:onComplete:] + 1689060 (RCTCxxBridge.mm:1484)
19 MY_APP_NAME 0x104f32614 -[RCTCxxBridge executeSourceCode:sync:] + 1680916 (RCTCxxBridge.mm:1079)
20 MY_APP_NAME 0x104f300b8 __21-[RCTCxxBridge start]_block_invoke_2 + 1671352 (RCTCxxBridge.mm:507)
21 libdispatch.dylib 0x19fbcc4b4 _dispatch_call_block_and_release + 32
22 libdispatch.dylib 0x19fbcdfdc _dispatch_client_callout + 20
23 libdispatch.dylib 0x19fbdfb8c _dispatch_root_queue_drain + 684
24 libdispatch.dylib 0x19fbe0284 _dispatch_worker_thread2 + 164
25 libsystem_pthread.dylib 0x1e5653dbc _pthread_wqthread + 228
26 libsystem_pthread.dylib 0x1e5653b98 start_wqthread + 8
…
Expo: 47
Workflow: bare
eas-cli: 2.7.1
{
"scripts": {
"start": "expo start",
"android": "react-native run-android",
"ios": "react-native run-ios",
"web": "expo start --web",
"eject": "expo eject",
"server": "json-server -w db.json -d 700",
"test": "jest",
"devStart": "expo start -p 80",
"expo-ios": "expo run:ios",
"eas-android": "eas build --profile development --platform android",
"eas-android-preview": "eas build --profile preview --platform android",
"eas-ios": "eas build --profile development --platform ios",
"eas-ios-preview": "eas build --profile preview --platform ios",
"eas-ios-production": "eas build --profile production --platform ios",
"local-prod-build": "npx expo start --no-dev --minify",
"local-eas-ios-preview": "eas build --platform ios --profile preview --local",
"local-eas-ios-prod": "eas build --platform ios --profile production --local",
"postinstall": "patch-package"
},
"jest": {
"preset": "jest-expo",
"transformIgnorePatterns": [
"node_modules/(?!(jest-)?react-native|react-clone-referenced-element|@react-native-community|expo(nent)?|@expo(nent)?/.*|react-navigation|@react-navigation/.*|@unimodules/.*|unimodules|sentry-expo|native-base|@sentry/.*)"
],
"collectCoverage": true,
"coverageReporters": [
"html"
],
"setupFiles": [
"./jest/jestSetupFile.js"
]
},
"dependencies": {
"@ant-design/icons": "^4.7.0",
"@babel/runtime": "^7.19.4",
"@react-native-async-storage/async-storage": "~1.17.3",
"@react-native-mapbox-gl/maps": "^8.5.0",
"@react-navigation/drawer": "^6.4.3",
"@react-navigation/elements": "^1.3.4",
"@react-navigation/material-top-tabs": "^6.2.2",
"@react-navigation/native": "^6.0.11",
"@react-navigation/stack": "^6.2.2",
"@reduxjs/toolkit": "^1.8.2",
"@sentry/react-native": "4.2.2",
"@shopify/flash-list": "~1.3.1",
"@types/i18n-js": "^3.8.2",
"@types/react-native-signature-capture": "^0.4.2",
"@types/react-native-snap-carousel": "^3.8.5",
"@types/redux-logger": "^3.0.9",
"axios": "^0.22.0",
"babel-plugin-transform-remove-console": "^6.9.4",
"date-fns": "^2.27.0",
"deprecated-react-native-prop-types": "^2.3.0",
"expo": "^47.0.8",
"expo-application": "~5.0.1",
"expo-asset": "~8.6.2",
"expo-auth-session": "~3.7.2",
"expo-barcode-scanner": "~12.1.0",
"expo-camera": "~13.1.0",
"expo-constants": "~14.0.2",
"expo-dev-client": "~2.0.1",
"expo-device": "~5.0.0",
"expo-file-system": "~15.1.1",
"expo-image-manipulator": "~11.0.0",
"expo-local-authentication": "~13.0.2",
"expo-location": "~15.0.1",
"expo-mail-composer": "~12.0.0",
"expo-media-library": "~15.0.0",
"expo-modules-autolinking": "~1.0.0",
"expo-modules-core": "~1.0.3",
"expo-network": "~5.0.0",
"expo-random": "~13.0.0",
"expo-screen-orientation": "~5.0.1",
"expo-secure-store": "~12.0.0",
"expo-status-bar": "~1.4.2",
"expo-updates": "~0.15.6",
"i18n-js": "^3.9.2",
"iso8601-duration": "^2.1.1",
"npm-license-crawler": "^0.2.1",
"patch-package": "^6.4.7",
"postinstall-postinstall": "^2.1.0",
"prop-types": "15.8.1",
"react": "18.1.0",
"react-dom": "18.1.0",
"react-native": "0.70.5",
"react-native-app-auth": "^6.4.0",
"react-native-base64": "^0.2.1",
"react-native-dropdown-picker": "^5.4.0",
"react-native-elements": "^3.4.2",
"react-native-gesture-handler": "~2.8.0",
"react-native-get-random-values": "~1.8.0",
"react-native-image-picker": "^4.8.5",
"react-native-logs": "^4.0.1",
"react-native-pager-view": "6.0.1",
"react-native-paper": "^4.12.5",
"react-native-photo-manipulator": "^1.2.7",
"react-native-reanimated": "~2.12.0",
"react-native-safe-area-context": "4.4.1",
"react-native-screens": "~3.18.0",
"react-native-signature-canvas": "^4.3.0",
"react-native-snap-carousel": "^3.9.1",
"react-native-tab-view": "^3.1.1",
"react-native-vector-icons": "^9.0.0",
"react-native-web": "~0.18.7",
"react-native-webview": "11.23.1",
"react-native-zip-archive": "^6.0.8",
"react-redux": "^7.2.8",
"realm": "^11.2.0",
"redux": "^4.2.0",
"redux-logger": "^3.0.6",
"redux-thunk": "^2.4.0",
"sentry-expo": "~5.0.3",
"uuid": "^8.3.2"
},
"devDependencies": {
"@babel/core": "^7.19.3",
"@babel/preset-env": "^7.19.4",
"@types/jest": "^27.0.2",
"@types/react": "~17.0.39",
"@types/react-dom": "~17.0.18",
"@types/react-native": "~0.70.6",
"@types/react-native-base64": "^0.2.0",
"@types/uuid": "^8.3.1",
"jest": "^26.6.3",
"jest-expo": "^47.0.0-beta",
"typescript": "^4.6.3"
},
"resolutions": {
"@types/react": "17.0.39",
"@types/react-dom": "17.0.18"
},
"private": true,
"name": "MY_APP_NAME",
"version": "0.0.2"
}
I replaced the code of most of the native iOS files with code from a fresh Expo 47 project to resolve the issue but none worked so far.
I hope some of you have an idea how to solve this. I’m stuck on this Issue for some time now. If you need additional information, ask in the comments.
Thanks in advance