Closed Bram-dc closed 2 years ago
I am encountering an issue similar. Did you find the solution?
Yes, I did not read the docs correct, I forgot to supply the updates.url and runTime.policy field:
Tip: Use eas update:configure
But I've already switched back to the old build system, since eas publish is behind a paywall.
I've just updated to SDK 45 and I'm facing the same issue in a managed workflow with eas build, the app crashes on start, this is the error log:
0x000000010302da24 -[RCTBridge setUp] + 48 (RCTBridge.m:365)
0x000000010302d230 -[RCTBridge initWithDelegate:bundleURL:moduleProvider:launchOptions:] + 236 (RCTBridge.m:231)
0x0000000102f176dc init + 20 (<compiler-generated>:0)
0x0000000102f176dc init + 32 (ExpoUpdatesReactDelegateHandler.swift:0)
0x0000000102f176dc specialized ExpoUpdatesReactDelegateHandler.appController(_:didStartWithSuccess:) + 196
0x0000000102f16d44 appController + 8 (<compiler-generated>:0)
0x0000000102f16d44 @objc ExpoUpdatesReactDelegateHandler.appController(_:didStartWithSuccess:) + 52
0x0000000102ef33fc __73-[EXUpdatesAppController appLoaderTask:didFinishWithLauncher:isUpToDate:]_block_invoke + 52 (EXUpdatesAppController.m:262)
and this is my package.json:
{
"main": "node_modules/expo/AppEntry.js",
"scripts": {
"build-submit": "eas build -p ios --profile diritto --auto-submit",
"build-old-submit": "npx cross-env APP_ENV=diritto expo build:ios --no-wait -t archive"
},
"dependencies": {
"@expo/ngrok": "^4.1.0",
"@expo/metro-config": "^0.3.18",
"@react-native-async-storage/async-storage": "^1.17.3",
"@react-native-masked-view/masked-view": "^0.2.6",
"@react-navigation/drawer": "^5.12.9",
"@react-navigation/native": "^5.9.8",
"@react-navigation/stack": "^5.14.9",
"expo": "^45.0.0",
"expo-ads-admob": "~13.0.0",
"expo-constants": "~13.1.1",
"expo-device": "^4.2.0",
"expo-linear-gradient": "^11.3.0",
"expo-linking": "^3.1.0",
"expo-splash-screen": "^0.15.1",
"expo-store-review": "^5.2.0",
"firebase": "^9.6.11",
"prop-types": "^15.7.2",
"react": "17.0.2",
"react-native": "0.68.2",
"react-native-chart-kit": "^6.11.0",
"react-native-gesture-handler": "~2.2.1",
"react-native-reanimated": "~2.8.0",
"react-native-safe-area-context": "4.2.4",
"react-native-screens": "~3.11.1",
"react-native-svg": "^12.3.0",
"sentry-expo": "^4.2.0"
},
"devDependencies": {
"babel-preset-expo": "^9.1.0",
"eslint-config-handlebarlabs": "^0.0.6",
"prettier": "^2.7.1",
"react-devtools": "^4.24.7",
"react-native-debugger": "^1.1.0"
},
"private": true
}
It works fine with old build method but with eas build it doesn't work at all, I've tried with app.json
updates: {enabled: false}
and removing expo-updates
from package.json as suggested from @brentvatne but didn't work.
I'm facing the same problem, I suggest to re-open this ticket.
% expo doctor
🎉 Didn't find any issues with the project!
% expo config
{
assetBundlePatterns: [
'**/*'
],
icon: './src/assets/icon.png',
name: 'My Beer',
orientation: 'portrait',
owner: 'beerinabox',
plugins: [
[
'expo-image-picker',
{
cameraPermission: 'Allow $(PRODUCT_NAME) to access your camera when you decide to take a picture for your review',
photosPermission: 'Allow $(PRODUCT_NAME) to access your photos when you decide to add a photo to your review'
}
]
],
scheme: 'my-beer',
slug: 'my-beer',
version: '1.0.4',
description: undefined,
sdkVersion: '44.0.0',
platforms: [
'ios',
'android'
],
android: {
package: 'nl.beerinabox.mybeer',
permissions: [
'android.permission.CAMERA',
'android.permission.READ_EXTERNAL_STORAGE',
'android.permission.WRITE_EXTERNAL_STORAGE',
'android.permission.RECORD_AUDIO'
],
versionCode: 4,
adaptiveIcon: {
foregroundImage: './src/assets/adaptive-icon.png',
backgroundColor: '#FFFFFF'
}
},
ios: {
bundleIdentifier: 'nl.beerinabox.my-beer',
buildNumber: '1',
supportsTablet: false,
config: {
usesNonExemptEncryption: false
},
infoPlist: {
NSCameraUsageDescription: 'Allow $(PRODUCT_NAME) to access your camera when you decide to take a picture for your review',
NSPhotoLibraryUsageDescription: 'Allow $(PRODUCT_NAME) to access your photos when you decide to add a photo to your review',
NSMicrophoneUsageDescription: 'Allow $(PRODUCT_NAME) to access your microphone'
}
},
splash: {
image: './src/assets/splash.png',
resizeMode: 'contain',
backgroundColor: '#ffffff'
},
updates: {
fallbackToCacheTimeout: 0
},
_internal: {
isDebug: false,
projectRoot: '/Users/aike/react-native/beer-in-a-box',
staticConfigPath: '/Users/aike/react-native/beer-in-a-box/app.json',
packageJsonPath: '/Users/aike/react-native/beer-in-a-box/package.json',
dynamicConfigPath: {},
pluginHistory: {
'expo-image-picker': {
name: 'expo-image-picker',
version: '12.0.2'
}
}
}
}
Summary
Build process goes without errors and the app is also successfully uploading to TestFlight. But when launching the app code from the expo-updates is crashing the app on lauch in a built and submitted app.
Managed or bare workflow? If you have
ios/
orandroid/
directories in your project, the answer is bare!managed
What platform(s) does this occur on?
iOS
SDK Version (managed workflow only)
44
Environment
expo-env-info 1.0.2 environment info: System: OS: Windows 10 10.0.19043 Binaries: Node: 14.18.1 - C:\Program Files\nodejs\node.EXE Yarn: 1.22.4 - C:\Program Files (x86)\Yarn\bin\yarn.CMD npm: 6.14.15 - C:\Program Files\nodejs\npm.CMD IDEs: Android Studio: Version 4.1.0.0 AI-201.8743.12.41.7042882 npmPackages: expo: 44.0.0 => 44.0.0 react: 17.0.1 => 17.0.1 react-dom: 17.0.1 => 17.0.1 react-native: 0.64.3 => 0.64.3 Expo Workflow: managed
Reproducible demo
Crashlog Exception Type: EXC_CRASH (SIGABRT) Exception Codes: 0x0000000000000000, 0x0000000000000000 Exception Note: EXC_CORPSE_NOTIFY Triggered by Thread: 9
Last Exception Backtrace: 0 CoreFoundation 0x1a96cddc0 __exceptionPreprocess + 220 (NSException.m:199) 1 libobjc.A.dylib 0x1be22a7a8 objc_exception_throw + 60 (objc-exception.mm:565) 2 MyBird 0x104042b10 -[EXUpdatesAppController throwException:] + 24 (EXUpdatesAppController.m:417) 3 MyBird 0x10405600c 0x104024000 + 204812 4 MyBird 0x1040556c0 0x104024000 + 202432 5 libdispatch.dylib 0x1a92b8a84 _dispatch_call_block_and_release + 32 (init.c:1466) 6 libdispatch.dylib 0x1a92ba81c _dispatch_client_callout + 20 (object.m:559) 7 libdispatch.dylib 0x1a92c2004 _dispatch_lane_serial_drain + 620 (inline_internal.h:2557) 8 libdispatch.dylib 0x1a92c2c00 _dispatch_lane_invoke + 404 (queue.c:3862) 9 libdispatch.dylib 0x1a92cd4bc _dispatch_workloop_worker_thread + 764 (queue.c:6589) 10 libsystem_pthread.dylib 0x1f540e7a4 _pthread_wqthread + 276 (pthread.c:2437) 11 libsystem_pthread.dylib 0x1f541574c start_wqthread + 8
Exception code EXUpdatesAppController.m:417
- (void)markSuccessfulLaunchForLaunchedUpdate { if (_isEmergencyLaunch) { return; } dispatch_async(_database.databaseQueue, ^{ EXUpdatesUpdate *launchedUpdate = self.launchedUpdate; if (!launchedUpdate) { return; } NSError *error; [self->_database incrementSuccessfulLaunchCountForUpdate:launchedUpdate error:&error]; if (error) { NSLog(@"Failed to increment successful launch count for update: %@", error.localizedDescription); } }); }
Installed packages I will try to narrow down the error causing package combination "expo": "44.0.0", "expo-application": "~4.0.1", "expo-asset": "~8.4.6", "expo-blur": "~11.0.0", "expo-constants": "~13.0.1", "expo-device": "~4.1.0", "expo-haptics": "~11.1.0", "expo-linking": "~3.0.0", "expo-localization": "~12.0.0", "expo-location": "~14.0.1", "expo-navigation-bar": "~1.1.1", "expo-notifications": "~0.14.0", "expo-splash-screen": "~0.14.1", "expo-status-bar": "~1.2.0", "expo-system-ui": "~1.1.0", "expo-updates": "~0.11.6", "expo-web-browser": "~10.1.0", "react": "17.0.1", "react-dom": "17.0.1", "react-hook-form": "^7.3.5", "react-native": "0.64.3", "react-native-animation-hooks": "^1.0.1", "react-native-gesture-handler": "~2.1.0", "react-native-keyboard-aware-scroll-view": "^0.9.5", "react-native-modalize": "^2.0.8", "react-native-picker-select": "^8.0.4", "react-native-safe-area-context": "3.3.2", "react-native-screens": "~3.10.1", "react-native-webview": "11.15.0",