I'm trying to upgrade a React Native 0.64.4/Expo 43.0.2 application to RN 0.71.14/Expo 49. Android builds/bundles fine, but iOS build then immediately crashes on a stacktrace mentioning ExpoConstants.
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object from objects[9]'
0 ??? 0x0000000107114abc 0x0 + 4413541052, 1 App 0x0000000100c9fd80 main + 0, 2 libsystem_c.dylib 0x00000001b0c48178 abort + 180, 3 libc++abi.dylib 0x000000020949abf8 1E834588-ACA6-327A-9A96-5AA8B13A2AE2 + 72696, 4 libc++abi.dylib 0x000000020948a444 1E834588-ACA6-327A-9A96-5AA8B13A2AE2 + 5188, 5 libobjc.A.dylib 0x00000001a27c5ea4 EB7FAF21-5C9F-3784-8907-AFFA6D92BC3B + 122532, 6 libc++abi.dylib 0x0000000209499fbc 1E834588-ACA6-327A-9A96-5AA8B13A2AE2 + 69564, 7 libc++abi.dylib 0x0000000209499f60 _ZSt9terminatev + 56, 8 libdispatch.dylib 0x00000001060b604c _dispatch_client_callout + 40, 9 libdispatch.dylib 0x00000001060c689c _dispatch_main_queue_drain + 1456, 10 libdispatch.dylib 0x00000001060c62dc _dispatch_main_queue_callback_4CF + 44, 11 CoreFoundation 0x00000001a97afc28 A900B459-0127-379E-9CBA-0EAB9C5D559F + 625704, 12 CoreFoundation 0x00000001a9791560 A900B459-0127-379E-9CBA-0EAB9C5D559F + 501088, 13 CoreFoundation 0x00000001a97963ec CFRunLoopRunSpecific + 612, 14 GraphicsServices 0x00000001e4cac35c GSEventRunModal + 164, 15 UIKitCore 0x00000001abb22f58 7D57A1D1-856F-338D-97DB-880C4EC8B02E + 3788632, 16 UIKitCore 0x00000001abb22bbc UIApplicationMain + 340, 17 App 0x0000000100c9fde0 main + 96, 18 dyld 0x00000001c8cc8dec C3FC2EE4-367F-3086-BEB8-420AD442BF88 + 89580 )
I confirmed our installation of expo. I'm not sure what else to do. I expect the app to launch and bundle.
"resolutions": { "graceful-fs": "4.2.4" }, "dependencies": { "@react-native-async-storage/async-storage": "1.17.11", "@react-native-community/art": "^1.1.2", "@react-native-community/netinfo": "9.3.7", "@react-native-community/push-notification-ios": "^1.10.1", "@react-native-firebase/analytics": "^18.5.0", "@react-native-firebase/app": "^18.5.0", "@react-native-firebase/crashlytics": "^18.5.0", "@react-native-picker/picker": "2.4.8", "@react-navigation/bottom-tabs": "^6.0.9", "@react-navigation/devtools": "^6.0.4", "@react-navigation/drawer": "^6.1.8", "@react-navigation/native": "^6.0.6", "@react-navigation/native-stack": "^6.2.5", "@typescript-eslint/parser": "^5.1.0", "@welldone-software/why-did-you-render": "^4.0.6", "apisauce": "^1.1.2", "appcenter": "^4.2.0", "appcenter-analytics": "^4.2.0", "appcenter-crashes": "^4.2.0", "art": "^0.10.3", "babel-plugin-transform-inline-environment-variables": "^0.4.3", "color": "^2.0.1", "d3-path": "^1.0.5", "d3-scale": "^1.0.6", "d3-selection": "^1.1.0", "d3-shape": "^1.2.0", "detox": "^19.3.0", "eslint-config-standard-react": "^11.0.1", "expo": "^48.0.0", "expo-asset": "~8.9.1", "expo-av": "~13.2.1", "expo-constants": "~14.2.1", "expo-file-system": "~15.2.2", "expo-image-loader": "~4.1.1", "expo-image-picker": "~14.1.1", "expo-keep-awake": "~12.0.1", "fbemitter": "^2.1.1", "gradient": "^0.2.0", "jest-svg-transformer": "^1.0.0", "jetifier": "^1.6.5", "jsonlint": "^1.6.3", "lodash": "^4.17.21", "lottie-react-native": "5.1.4", "moment": "^2.18.1", "moment-timezone": "^0.5.31", "normalizr": "^3.2.2", "patch-package": "^6.2.0", "pod-install": "^0.1.23", "prop-types": "^15.5.8", "react": "18.2.0", "react-addons-pure-render-mixin": "^15.6.0", "react-mixin": "^2.0.2", "react-native": "0.71.14", "react-native-action-sheet-xg": "0.0.1", "react-native-animate-number": "^0.1.2", "react-native-bootsplash": "^3.1.5", "react-native-cached-image": "1.2.5", "react-native-calendar": "^0.11.0", "react-native-calendars": "^1.1282.0", "react-native-circular-progress": "^1.3.7", "react-native-code-push": "^8.1.0", "react-native-datepicker": "^1.7.2", "react-native-device-info": "^7.1.0", "react-native-dropdownalert": "^3.7.0", "react-native-fast-image": "^8.6.3", "react-native-fbsdk-next": "4.3.1", "react-native-fs": "^2.16.2", "react-native-gesture-handler": "~2.9.0", "react-native-haptic": "^1.0.5", "react-native-hyperlink": "0.0.14", "react-native-iap": "^7.5.6", "react-native-image-zoom-viewer": "^3.0.1", "react-native-in-app-review": "^4.3.3", "react-native-keyboard-accessory": "^0.1.9", "react-native-keyboard-aware-scroll-view": "^0.9.2", "react-native-keyboard-spacer": "^0.4.1", "react-native-keychain": "^6.2.0", "react-native-linear-gradient": "^2.5.4", "react-native-modal-picker": "0.0.16", "react-native-notifications": "^4.3.0", "react-native-onesignal": "^4.5.1", "react-native-progress": "^4.1.2", "react-native-radio-buttons-group": "^2.2.4", "react-native-rate": "^1.1.7", "react-native-reanimated": "~2.14.4", "react-native-redash": "^16.0.11", "react-native-safe-area-context": "4.5.0", "react-native-screens": "~3.20.0", "react-native-scrollable-tab-view": "^1.0.0", "react-native-share": "^8.2.2", "react-native-simple-radio-button": "^2.5.0-alpha.1", "react-native-slider": "^0.11.0", "react-native-svg": "13.4.0", "react-native-svg-transformer": "^0.14.3", "react-native-tab-view": "^2.15.2", "react-native-tracking-transparency": "^0.1.0", "react-native-vector-icons": "^8.1.0", "react-native-video": "^5.1.1", "react-native-video-processing": "^1.7.2", "react-native-view-shot": "3.5.0", "react-native-webview": "11.26.0", "react-native-youtube-iframe": "^2.2.2", "react-redux": "^7.2.2", "react-test-renderer": "^18.2.0", "react-timer-mixin": "^0.13.3", "redux": "^4.0.0", "redux-logger": "^3.0.1", "redux-persist": "^4.10.2", "redux-promise": "^0.5.3", "redux-thunk": "^2.2.0", "route-parser": "0.0.5", "scheduler": "^0.19.1", "string.fromcodepoint": "^0.2.1", "victory-native": "^35.5.4", "wordwrap": "^1.0.0", "world-countries": "^1.8.1" }, "devDependencies": { "@babel/runtime": "^7.20.0", "@babel/core": "^7.20.0", "@babel/eslint-parser": "7.14.4", "@babel/preset-env": "^7.20.0", "@react-native-community/cli-platform-android": "^11.3.9", "@react-native-community/eslint-config": "^2.0.0", "@types/d3-array": "^3.0.1", "@types/d3-scale": "^4.0.1", "@types/d3-shape": "^3.0.2", "@types/lodash": "^4.14.172", "@types/react-native-calendars": "^1.1264.3", "@types/react-native-datepicker": "^1.7.0", "@types/react-native-vector-icons": "^6.4.6", "@types/react-native-video": "^5.0.14", "@types/react-redux": "^7.1.11", "@types/redux-logger": "^3.0.8", "@types/redux-promise": "^0.5.29", "@types/route-parser": "^0.1.4", "@types/xdate": "^0.8.32", "adm-zip": "^0.4.11", "babel-jest": "^26.6.3", "enzyme": "^3.8.0", "@cfaester/enzyme-adapter-react-18": "^0.7.1", "eslint": "^7.28.0", "eslint-plugin-flowtype": "^5.7.2", "eslint-plugin-import": "^2.23.4", "eslint-plugin-jest": "^24.3.6", "eslint-plugin-jsx-a11y": "^6.4.1", "eslint-plugin-prettier": "^3.4.0", "eslint-plugin-react": "^7.24.0", "eslint-plugin-react-hooks": "^4.2.0", "flow-bin": "^0.113.0", "graceful-fs": "^4.2.4", "isomorphic-fetch": "^2.2.1", "jest": "^29.2.1", "jest-circus": "^26.6.3", "jest-environment-node-debug": "^2.0.0", "jest-fetch-mock": "^1.0.8", "metro-react-native-babel-preset": "0.73.10", "node-debug": "^0.1.0", "plist": "^3.0.1", "prettier": "^2.3.1", "react-devtools-core": "^3.4.2", "react-is": "^16.8.6", "react-native-clean-project": "^3.3.0", "react-testing-library": "^6.0.1", "redux-mock-store": "^1.5.3", "regenerator-runtime": "^0.13.1", "traverse": "^0.6.6", "ts-jest": "^26.4.4", "typescript": "^4.3.2", "xcode": "^1.0.0" },