I’m attempting to build an existing React-Native project in iOS. This project uses Expo, so after running yarn
, I run npx expo prebuild
. Then I run expo run:ios
and get the following output. I’ve tried cleaning and reinstalling the pod directly in the /ios
folder, changing node versions, and removing Podfile.lock
.
✅ Compilation Logs:
❯ yarn ios
yarn run v1.22.19
$ expo run:ios
✔ Created native project | gitignore skipped
› Metro skipped: Project metro.config.js does not match prebuild template.
› Ensure the project uses expo/metro-config.
Learn more
✔ Updated package.json and added index.js entry point for iOS and Android
› Installing using yarn
> yarn install
✔ Config synced
✔ Installed pods and initialized Xcode workspace.
› Signing and building iOS app with: Apple Development: [email protected] (MY_APPLE_ID)
› Planning build
› Preparing Pods/expo-dev-menu-EXDevMenu » ResourceBundle-EXDevMenu-expo-dev-menu-Info.plist
› Preparing react-native Pods/React-Core-AccessibilityResources » ResourceBundle-AccessibilityResources-React-Core-Info.plist
› Preparing Pods/expo-dev-launcher-EXDevLauncher » ResourceBundle-EXDevLauncher-expo-dev-launcher-Info.plist
› Preparing Pods/RNImageCropPicker-QBImagePicker » ResourceBundle-QBImagePicker-RNImageCropPicker-Info.plist
› Preparing expo-updates Pods/EXUpdates-EXUpdates » ResourceBundle-EXUpdates-EXUpdates-Info.plist
› Preparing expo-constants Pods/EXConstants-EXConstants » ResourceBundle-EXConstants-EXConstants-Info.plist
› Copying TOCropViewController/TOCropViewControllerBundle.bundle/Base.lproj ➜ ios/Pods/TOCropViewController/Objective-C/TOCropViewController/Resources/Base.lproj
› Preparing Pods/TOCropViewController-TOCropViewControllerBundle » ResourceBundle-TOCropViewControllerBundle-TOCropViewController-Info.plist
› Copying TOCropViewController/TOCropViewControllerBundle.bundle/zh-Hant.lproj ➜ ios/Pods/TOCropViewController/Objective-C/TOCropViewController/Resources/zh-Hant.lproj
› Copying TOCropViewController/TOCropViewControllerBundle.bundle/zh-Hans.lproj ➜ ios/Pods/TOCropViewController/Objective-C/TOCropViewController/Resources/zh-Hans.lproj
› Copying TOCropViewController/TOCropViewControllerBundle.bundle/vi.lproj ➜ ios/Pods/TOCropViewController/Objective-C/TOCropViewController/Resources/vi.lproj
› Copying TOCropViewController/TOCropViewControllerBundle.bundle/ru.lproj ➜ ios/Pods/TOCropViewController/Objective-C/TOCropViewController/Resources/ru.lproj
› Copying TOCropViewController/TOCropViewControllerBundle.bundle/tr.lproj ➜ ios/Pods/TOCropViewController/Objective-C/TOCropViewController/Resources/tr.lproj
› Copying TOCropViewController/TOCropViewControllerBundle.bundle/ro.lproj ➜ ios/Pods/TOCropViewController/Objective-C/TOCropViewController/Resources/ro.lproj
› Copying TOCropViewController/TOCropViewControllerBundle.bundle/sk.lproj ➜ ios/Pods/TOCropViewController/Objective-C/TOCropViewController/Resources/sk.lproj
› Copying TOCropViewController/TOCropViewControllerBundle.bundle/pt.lproj ➜ ios/Pods/TOCropViewController/Objective-C/TOCropViewController/Resources/pt.lproj
› Executing react-native Pods/hermes-engine » [CP] Copy XCFrameworks
› Copying TOCropViewController/TOCropViewControllerBundle.bundle/pt-BR.lproj ➜ ios/Pods/TOCropViewController/Objective-C/TOCropViewController/Resources/pt-BR.lproj
› Copying TOCropViewController/TOCropViewControllerBundle.bundle/pl.lproj ➜ ios/Pods/TOCropViewController/Objective-C/TOCropViewController/Resources/pl.lproj
› Copying TOCropViewController/TOCropViewControllerBundle.bundle/nl.lproj ➜ ios/Pods/TOCropViewController/Objective-C/TOCropViewController/Resources/nl.lproj
› Copying TOCropViewController/TOCropViewControllerBundle.bundle/ms.lproj ➜ ios/Pods/TOCropViewController/Objective-C/TOCropViewController/Resources/ms.lproj
› Copying TOCropViewController/TOCropViewControllerBundle.bundle/ko.lproj ➜ ios/Pods/TOCropViewController/Objective-C/TOCropViewController/Resources/ko.lproj
› Copying TOCropViewController/TOCropViewControllerBundle.bundle/ja.lproj ➜ ios/Pods/TOCropViewController/Objective-C/TOCropViewController/Resources/ja.lproj
› Copying TOCropViewController/TOCropViewControllerBundle.bundle/it.lproj ➜ ios/Pods/TOCropViewController/Objective-C/TOCropViewController/Resources/it.lproj
› Copying TOCropViewController/TOCropViewControllerBundle.bundle/id.lproj ➜ ios/Pods/TOCropViewController/Objective-C/TOCropViewController/Resources/id.lproj
› Copying TOCropViewController/TOCropViewControllerBundle.bundle/hu.lproj ➜ ios/Pods/TOCropViewController/Objective-C/TOCropViewController/Resources/hu.lproj
› Copying TOCropViewController/TOCropViewControllerBundle.bundle/fr.lproj ➜ ios/Pods/TOCropViewController/Objective-C/TOCropViewController/Resources/fr.lproj
› Copying TOCropViewController/TOCropViewControllerBundle.bundle/fi.lproj ➜ ios/Pods/TOCropViewController/Objective-C/TOCropViewController/Resources/fi.lproj
› Copying TOCropViewController/TOCropViewControllerBundle.bundle/fa.lproj ➜ ios/Pods/TOCropViewController/Objective-C/TOCropViewController/Resources/fa.lproj
› Copying TOCropViewController/TOCropViewControllerBundle.bundle/fa-IR.lproj ➜ ios/Pods/TOCropViewController/Objective-C/TOCropViewController/Resources/fa-IR.lproj
› Copying TOCropViewController/TOCropViewControllerBundle.bundle/es.lproj ➜ ios/Pods/TOCropViewController/Objective-C/TOCropViewController/Resources/es.lproj
› Copying TOCropViewController/TOCropViewControllerBundle.bundle/en.lproj ➜ ios/Pods/TOCropViewController/Objective-C/TOCropViewController/Resources/en.lproj
› Copying TOCropViewController/TOCropViewControllerBundle.bundle/de.lproj ➜ ios/Pods/TOCropViewController/Objective-C/TOCropViewController/Resources/de.lproj
› Copying TOCropViewController/TOCropViewControllerBundle.bundle/da-DK.lproj ➜ ios/Pods/TOCropViewController/Objective-C/TOCropViewController/Resources/da-DK.lproj
› Copying TOCropViewController/TOCropViewControllerBundle.bundle/ca.lproj ➜ ios/Pods/TOCropViewController/Objective-C/TOCropViewController/Resources/ca.lproj
› Copying TOCropViewController/TOCropViewControllerBundle.bundle/cs.lproj ➜ ios/Pods/TOCropViewController/Objective-C/TOCropViewController/Resources/cs.lproj
› Copying TOCropViewController/TOCropViewControllerBundle.bundle/ar.lproj ➜ ios/Pods/TOCropViewController/Objective-C/TOCropViewController/Resources/ar.lproj
› Compiling expo-image Pods/libaom » wedge_utils.c
› Compiling expo-image Pods/libaom » yv12config.c
› Compiling expo-image Pods/libaom » yv12extend.c
› Compiling expo-image Pods/libaom » vmaf.c
› Compiling expo-image Pods/libaom » warped_motion.c
› Compiling expo-image Pods/libaom » variance.c
--- expo-image COMPILATION LOGS CONT ---
› Compiling react-native Pods/libevent » strlcpy.c
› Compiling react-native Pods/libevent » signal.c
› Compiling react-native Pods/libevent » select.c
› Compiling react-native Pods/libevent » poll.c
› Compiling react-native Pods/libevent » log.c
› Compiling react-native Pods/libevent » listener.c
› Compiling react-native Pods/libevent » libevent-dummy.m
› Compiling react-native Pods/libevent » kqueue.c
› Compiling react-native Pods/libevent » http.c
› Compiling react-native Pods/libevent » evutil_time.c
› Compiling react-native Pods/libevent » evutil_rand.c
› Compiling react-native Pods/libevent » evutil.c
› Compiling react-native Pods/libevent » evthread.c
› Compiling react-native Pods/libevent » evrpc.c
› Compiling react-native Pods/libevent » evmap.c
› Compiling react-native Pods/libevent » event_tagging.c
› Compiling react-native Pods/libevent » event.c
› Compiling react-native Pods/libevent » evdns.c
› Compiling react-native Pods/libevent » bufferevent_sock.c
› Compiling react-native Pods/libevent » bufferevent_ratelim.c
› Compiling react-native Pods/libevent » bufferevent_pair.c
› Compiling react-native Pods/libevent » bufferevent_filter.c
› Compiling react-native Pods/libevent » bufferevent.c
› Compiling react-native Pods/libevent » buffer.c
› Compiling expo-image Pods/libavif » write.c
› Compiling expo-image Pods/libavif » utils.c
› Compiling expo-image Pods/libavif » stream.c
-- expo-image COMPILATION LOGS CONT ---
› Compiling react-native Pods/glog » vlog_is_on.cc
› Compiling react-native Pods/glog » utilities.cc
› Compiling react-native Pods/glog » symbolize.cc
› Compiling rn-fetch-blob Pods/rn-fetch-blob » rn-fetch-blob-dummy.m
› Compiling rn-fetch-blob Pods/rn-fetch-blob » RNFetchBlobRequest.m
› Compiling rn-fetch-blob Pods/rn-fetch-blob » RNFetchBlobFS.m
› Compiling rn-fetch-blob Pods/rn-fetch-blob » RNFetchBlobConst.m
› Compiling rn-fetch-blob Pods/rn-fetch-blob » RNFetchBlob.m
› Compiling react-native-splash-screen Pods/react-native-splash-screen » react-native-splash-screen-dummy.m
› Compiling react-native-splash-screen Pods/react-native-splash-screen » RNSplashScreen.m
› Compiling react-native-safe-area-context Pods/react-native-safe-area-context » react-native-safe-area-context-dummy.m
› Compiling react-native-safe-area-context Pods/react-native-safe-area-context » RNCSafeAreaViewMode.m
› Compiling react-native-pager-view Pods/react-native-pager-view » UIViewController+CreateExtension.m
› Compiling react-native-pager-view Pods/react-native-pager-view » ReactViewPagerManager.m
› Compiling react-native Pods/glog » signalhandler.cc
› Compiling react-native Pods/glog » raw_logging.cc
› Compiling react-native-image-crop-picker Pods/TOCropViewController » UIImage+CropRotate.m
› Compiling react-native-image-crop-picker Pods/TOCropViewController » TOCroppedImageAttributes.m
› Compiling react-native-image-crop-picker Pods/TOCropViewController » TOCropViewControllerTransitioning.m
› Compiling react-native-image-crop-picker Pods/TOCropViewController » TOCropViewController.m
› Compiling react-native-image-crop-picker Pods/TOCropViewController » TOCropViewController-dummy.m
› Compiling react-native-image-crop-picker Pods/TOCropViewController » TOCropView.m
› Compiling react-native-image-crop-picker Pods/TOCropViewController » TOCropToolbar.m
› Compiling react-native-image-crop-picker Pods/TOCropViewController » TOCropScrollView.m
› Compiling react-native-image-crop-picker Pods/TOCropViewController » TOCropOverlayView.m
› Compiling react-native-image-crop-picker Pods/TOCropViewController » TOActivityCroppedImageProvider.m
› Packaging react-native Pods/Yoga » libYoga.a
› Compiling Pods/Sentry » fishhook.c
› Compiling Pods/Sentry » UIViewController+Sentry.m
› Compiling Pods/Sentry » UIView+Sentry.m
› Compiling Pods/Sentry » SentryViewHierarchyIntegration.m
› Compiling Pods/Sentry » SentryViewHierarchy.m
› Compiling Pods/Sentry » SentryUserFeedback.m
› Compiling Pods/Sentry » SentryUser.m
› Compiling Pods/Sentry » SentryUIViewControllerSwizzling.m
› Packaging react-native-image-crop-picker Pods/TOCropViewController » libTOCropViewController.a
--- Pods/Sentry COMPILATION LOGS CONT ---
› Packaging Pods/Sentry » libSentry.a
❌ Error Logs:
› Compiling expo-image Pods/SDWebImageAVIFCoder » Conversion.m
❌ (/my-app/ios/Pods/SDWebImageAVIFCoder/SDWebImageAVIFCoder/Classes/Conversion.m:158:28)
156 | state->biasY = (state->yuvRange == AVIF_RANGE_LIMITED) ? (float)(16 << (state->yuvDepth - 8)) : 0.0f;
157 | state->biasUV = (float)(1 << (state->yuvDepth - 1));
> 158 | state->biasA = (image->alphaRange == AVIF_RANGE_LIMITED) ? (float)(16 << (state->yuvDepth - 8)) : 0.0f;
| ^ no member named 'alphaRange' in 'struct avifImage'; did you mean 'alphaPlane'?
159 | state->rangeY = (float)((state->yuvRange == AVIF_RANGE_LIMITED) ? (219 << (state->yuvDepth - 8)) : state->yuvMaxChannel);
160 | state->rangeUV = (float)((state->yuvRange == AVIF_RANGE_LIMITED) ? (224 << (state->yuvDepth - 8)) : state->yuvMaxChannel);
161 | state->rangeA = (float)((image->alphaRange == AVIF_RANGE_LIMITED) ? (219 << (state->yuvDepth - 8)) : state->yuvMaxChannel);
❌ (/my-app/ios/Pods/SDWebImageAVIFCoder/SDWebImageAVIFCoder/Classes/Conversion.m:158:12)
156 | state->biasY = (state->yuvRange == AVIF_RANGE_LIMITED) ? (float)(16 << (state->yuvDepth - 8)) : 0.0f;
157 | state->biasUV = (float)(1 << (state->yuvDepth - 1));
> 158 | state->biasA = (image->alphaRange == AVIF_RANGE_LIMITED) ? (float)(16 << (state->yuvDepth - 8)) : 0.0f;
| ^ no member named 'biasA' in 'struct avifReformatState'; did you mean 'biasY'?
159 | state->rangeY = (float)((state->yuvRange == AVIF_RANGE_LIMITED) ? (219 << (state->yuvDepth - 8)) : state->yuvMaxChannel);
160 | state->rangeUV = (float)((state->yuvRange == AVIF_RANGE_LIMITED) ? (224 << (state->yuvDepth - 8)) : state->yuvMaxChannel);
161 | state->rangeA = (float)((image->alphaRange == AVIF_RANGE_LIMITED) ? (219 << (state->yuvDepth - 8)) : state->yuvMaxChannel);
❌ (/my-app/ios/Pods/SDWebImageAVIFCoder/SDWebImageAVIFCoder/Classes/Conversion.m:161:37)
159 | state->rangeY = (float)((state->yuvRange == AVIF_RANGE_LIMITED) ? (219 << (state->yuvDepth - 8)) : state->yuvMaxChannel);
160 | state->rangeUV = (float)((state->yuvRange == AVIF_RANGE_LIMITED) ? (224 << (state->yuvDepth - 8)) : state->yuvMaxChannel);
> 161 | state->rangeA = (float)((image->alphaRange == AVIF_RANGE_LIMITED) ? (219 << (state->yuvDepth - 8)) : state->yuvMaxChannel);
| ^ no member named 'alphaRange' in 'struct avifImage'; did you mean 'alphaPlane'?
162 |
163 | uint32_t cpCount = 1 << image->depth;
164 | if (state->mode == AVIF_REFORMAT_MODE_IDENTITY) {
❌ (/my-app/ios/Pods/SDWebImageAVIFCoder/SDWebImageAVIFCoder/Classes/Conversion.m:161:12)
159 | state->rangeY = (float)((state->yuvRange == AVIF_RANGE_LIMITED) ? (219 << (state->yuvDepth - 8)) : state->yuvMaxChannel);
160 | state->rangeUV = (float)((state->yuvRange == AVIF_RANGE_LIMITED) ? (224 << (state->yuvDepth - 8)) : state->yuvMaxChannel);
> 161 | state->rangeA = (float)((image->alphaRange == AVIF_RANGE_LIMITED) ? (219 << (state->yuvDepth - 8)) : state->yuvMaxChannel);
| ^ no member named 'rangeA' in 'struct avifReformatState'; did you mean 'rangeY'?
162 |
163 | uint32_t cpCount = 1 << image->depth;
164 | if (state->mode == AVIF_REFORMAT_MODE_IDENTITY) {
❌ (/my-app/ios/Pods/SDWebImageAVIFCoder/SDWebImageAVIFCoder/Classes/Conversion.m:570:18)
568 | if(hasAlpha) { // alpha
569 | vImage_Buffer alphaBuffer = {0};
> 570 | if(avif->alphaRange == AVIF_RANGE_LIMITED) {
| ^ no member named 'alphaRange' in 'struct avifImage'; did you mean 'alphaPlane'?
571 | float* floatAlphaBufferData = NULL;
572 | floatAlphaBufferData = calloc(avif->width * avif->height, sizeof(float));
573 | scaledAlphaBufferData = calloc(avif->width * avif->height, sizeof(uint8_t));
❌ (/my-app/ios/Pods/SDWebImageAVIFCoder/SDWebImageAVIFCoder/Classes/Conversion.m:865:22)
863 | float rangeMax = 0.0f;
864 | if(avif->depth == 10) {
> 865 | if(avif->alphaRange == AVIF_RANGE_LIMITED) {
| ^ no member named 'alphaRange' in 'struct avifImage'; did you mean 'alphaPlane'?
866 | offset = 64.0f;
867 | rangeMax = 940.0f;
868 | } else {
❌ (/my-app/ios/Pods/SDWebImageAVIFCoder/SDWebImageAVIFCoder/Classes/Conversion.m:873:22)
871 | }
872 | } else if(avif->depth == 12) {
> 873 | if(avif->alphaRange == AVIF_RANGE_LIMITED) {
| ^ no member named 'alphaRange' in 'struct avifImage'; did you mean 'alphaPlane'?
874 | offset = 256.0f;
875 | rangeMax = 3760.0f;
876 | } else {
› Compiling expo-image Pods/SDWebImageAVIFCoder » ColorSpace.m
› Compiling expo-image Pods/SDWebImage » UIView+WebCacheOperation.m
› Compiling expo-image Pods/SDWebImage » UIView+WebCache.m
› Compiling expo-image Pods/SDWebImage » UIImageView+WebCache.m
› Compiling expo-image Pods/SDWebImage » UIImageView+HighlightedWebCache.m
› Compiling expo-image Pods/SDWebImage » UIImage+Transform.m
› Compiling expo-image Pods/SDWebImage » UIImage+MultiFormat.m
› Compiling expo-image Pods/SDWebImage » UIImage+Metadata.m
⚠️ Warnings:
Run script build phase '[CP-User] Generate app.manifest for expo-updates' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'EXUpdates' from project 'Pods')
Run script build phase 'Start Packager' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'MyApp' from project 'MyApp')
Run script build phase 'Bundle React Native code and images' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'MyApp' from project 'MyApp')
Run script build phase 'Upload Debug Symbols to Sentry' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'MyApp' from project 'MyApp')
Run script build phase '[CP-User] Generate app.config for prebuilt Constants.manifest' will be run during every build because it does not specify any outputs. To address this warning, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'EXConstants' from project 'Pods')
› 7 error(s), and 5 warning(s)
CommandError: Failed to build iOS project. "xcodebuild" exited with error code 65.
error Command failed with exit code 1.
package.json
"scripts": {
"postinstall": "patch-package",
"prebuild": "expo prebuild",
"android": "expo run:android",
"ios": "expo run:ios",
"web": "expo start --web",
"build-web": "expo export:web && node ./scripts/post-web-build.js && cp --verbose ./web-build/static/js/*.* ./bskyweb/static/js/",
"start": "expo start --dev-client",
"clean-cache": "rm -rf node_modules/.cache/babel-loader/*",
"test": "jest --forceExit --testTimeout=20000 --bail",
"test-watch": "jest --watchAll",
"test-ci": "jest --ci --forceExit --reporters=default --reporters=jest-junit",
"test-coverage": "jest --coverage",
"lint": "eslint ./src --ext .js,.jsx,.ts,.tsx",
"e2e:mock-server": "ts-node __e2e__/mock-server.ts",
"e2e:metro": "RN_SRC_EXT=e2e.ts,e2e.tsx expo run:ios",
"e2e:build": "detox build -c ios.sim.debug",
"e2e:run": "detox test --configuration ios.sim.debug --take-screenshots all"
},
"dependencies": {
"@atproto/api": "0.3.3",
"@bam.tech/react-native-image-resizer": "^3.0.4",
"@braintree/sanitize-url": "^6.0.2",
"@expo/webpack-config": "^18.0.1",
"@fortawesome/fontawesome-svg-core": "^6.1.1",
"@fortawesome/free-regular-svg-icons": "^6.1.1",
"@fortawesome/free-solid-svg-icons": "^6.1.1",
"@fortawesome/react-native-fontawesome": "^0.3.0",
"@gorhom/bottom-sheet": "^4",
"@mattermost/react-native-paste-input": "^0.6.0",
"@miblanchard/react-native-slider": "^2.2.0",
"@notifee/react-native": "^7.4.0",
"@react-native-async-storage/async-storage": "^1.17.6",
"@react-native-camera-roll/camera-roll": "^5.2.2",
"@react-native-clipboard/clipboard": "^1.10.0",
"@react-native-community/blur": "^4.3.0",
"@react-native-community/datetimepicker": "6.7.3",
"@react-navigation/bottom-tabs": "^6.5.7",
"@react-navigation/drawer": "^6.6.2",
"@react-navigation/native": "^6.1.6",
"@react-navigation/native-stack": "^6.9.12",
"@segment/analytics-next": "^1.51.3",
"@segment/analytics-react": "^1.0.0-rc1",
"@segment/analytics-react-native": "^2.10.1",
"@segment/sovran-react-native": "^0.4.5",
"@sentry/react-native": "4.13.0",
"@tiptap/core": "^2.0.0-beta.220",
"@tiptap/extension-document": "^2.0.0-beta.220",
"@tiptap/extension-hard-break": "^2.0.3",
"@tiptap/extension-history": "^2.0.3",
"@tiptap/extension-link": "^2.0.0-beta.220",
"@tiptap/extension-mention": "^2.0.0-beta.220",
"@tiptap/extension-paragraph": "^2.0.0-beta.220",
"@tiptap/extension-placeholder": "^2.0.0-beta.220",
"@tiptap/extension-text": "^2.0.0-beta.220",
"@tiptap/pm": "^2.0.0-beta.220",
"@tiptap/react": "^2.0.0-beta.220",
"@tiptap/suggestion": "^2.0.0-beta.220",
"@types/node": "^18.16.2",
"@zxing/text-encoding": "^0.9.0",
"await-lock": "^2.2.2",
"base64-js": "^1.5.1",
"email-validator": "^2.0.4",
"eslint-plugin-react-native-a11y": "^3.3.0",
"expo": "~48.0.15",
"expo-application": "~5.1.1",
"expo-build-properties": "~0.5.1",
"expo-camera": "~13.2.1",
"expo-constants": "~14.2.1",
"expo-dev-client": "~2.1.1",
"expo-device": "~5.2.1",
"expo-image": "^1.2.1",
"expo-image-manipulator": "^11.1.1",
"expo-image-picker": "^14.1.1",
"expo-localization": "~14.1.1",
"expo-media-library": "~15.2.3",
"expo-sharing": "~11.2.2",
"expo-splash-screen": "~0.18.2",
"expo-status-bar": "~1.4.4",
"expo-system-ui": "~2.2.1",
"expo-updates": "~0.16.4",
"fast-text-encoding": "^1.0.6",
"graphemer": "^1.4.0",
"he": "^1.2.0",
"history": "^5.3.0",
"js-sha256": "^0.9.0",
"lande": "^1.0.10",
"lodash.chunk": "^4.2.0",
"lodash.clonedeep": "^4.5.0",
"lodash.debounce": "^4.0.8",
"lodash.isequal": "^4.5.0",
"lodash.omit": "^4.5.0",
"lodash.samplesize": "^4.2.0",
"lodash.set": "^4.3.2",
"lodash.shuffle": "^4.2.0",
"lru_map": "^0.4.1",
"mobx": "^6.6.1",
"mobx-react-lite": "^3.4.0",
"mobx-utils": "^6.0.6",
"normalize-url": "^8.0.0",
"patch-package": "^6.5.1",
"postinstall-postinstall": "^2.1.0",
"react": "18.2.0",
"react-avatar-editor": "^13.0.0",
"react-circular-progressbar": "^2.1.0",
"react-dom": "^18.2.0",
"react-native": "0.71.7",
"react-native-appstate-hook": "^1.0.6",
"react-native-background-fetch": "^4.1.8",
"react-native-drawer-layout": "^3.2.0",
"react-native-fs": "^2.20.0",
"react-native-gesture-handler": "~2.9.0",
"react-native-get-random-values": "^1.8.0",
"react-native-haptic-feedback": "^1.14.0",
"react-native-image-crop-picker": "^0.38.1",
"react-native-inappbrowser-reborn": "^3.6.3",
"react-native-linear-gradient": "^2.6.2",
"react-native-pager-view": "6.1.4",
"react-native-progress": "bluesky-social/react-native-progress",
"react-native-reanimated": "~2.14.4",
"react-native-root-siblings": "^4.1.1",
"react-native-safe-area-context": "^4.4.1",
"react-native-screens": "^3.13.1",
"react-native-splash-screen": "^3.3.0",
"react-native-svg": "13.4.0",
"react-native-url-polyfill": "^1.3.0",
"react-native-uuid": "^2.0.1",
"react-native-version-number": "^0.3.6",
"react-native-web": "^0.18.11",
"react-native-web-linear-gradient": "^1.1.2",
"react-responsive": "^9.0.2",
"rn-fetch-blob": "^0.12.0",
"sentry-expo": "~6.1.0",
"tippy.js": "^6.3.7",
"tlds": "^1.234.0",
"zod": "^3.20.2"
},
"devDependencies": {
"@atproto/pds": "^0.1.8",
"@babel/core": "^7.20.0",
"@babel/preset-env": "^7.20.0",
"@babel/runtime": "^7.20.0",
"@did-plc/server": "^0.0.1",
"@react-native-community/eslint-config": "^3.0.0",
"@testing-library/jest-native": "^5.4.1",
"@testing-library/react-native": "^11.5.2",
"@tsconfig/react-native": "^2.0.3",
"@types/he": "^1.1.2",
"@types/jest": "^29.4.0",
"@types/lodash.chunk": "^4.2.7",
"@types/lodash.clonedeep": "^4.5.7",
"@types/lodash.debounce": "^4.0.7",
"@types/lodash.isequal": "^4.5.6",
"@types/lodash.omit": "^4.5.7",
"@types/lodash.samplesize": "^4.2.7",
"@types/lodash.set": "^4.3.7",
"@types/lodash.shuffle": "^4.2.7",
"@types/react-avatar-editor": "^13.0.0",
"@types/react-native": "^0.67.3",
"@types/react-responsive": "^8.0.5",
"@types/react-test-renderer": "^17.0.1",
"@typescript-eslint/eslint-plugin": "^5.48.2",
"@typescript-eslint/parser": "^5.48.2",
"babel-jest": "^29.4.2",
"babel-loader": "^9.1.2",
"babel-plugin-module-resolver": "^5.0.0",
"babel-plugin-react-native-web": "^0.18.12",
"detox": "^20.1.2",
"eslint": "^8.19.0",
"eslint-plugin-detox": "^1.0.0",
"eslint-plugin-ft-flow": "^2.0.3",
"html-webpack-plugin": "^5.5.0",
"jest": "^29.4.3",
"jest-expo": "^48.0.2",
"jest-junit": "^15.0.0",
"metro-react-native-babel-preset": "^0.73.7",
"prettier": "^2.8.3",
"react-native-dotenv": "^3.3.1",
"react-scripts": "^5.0.1",
"react-test-renderer": "18.2.0",
"ts-node": "^10.9.1",
"typescript": "^4.4.4",
"url-loader": "^4.1.1",
"webpack": "^5.75.0",
"webpack-cli": "^5.0.1",
"webpack-dev-server": "^4.11.1"
},
"resolutions": {
"@types/react": "^17"
},
"jest": {
"preset": "jest-expo/ios",
"setupFilesAfterEnv": [
"./jest/jestSetup.js",
"@testing-library/jest-native/extend-expect"
],
"moduleFileExtensions": [
"ts",
"tsx",
"js",
"jsx",
"json",
"node"
],
"transformIgnorePatterns": [
"node_modules/(?!((jest-)?react-native|@react-native(-community)?)|expo(nent)?|@expo(nent)?/.*|@expo-google-fonts/.*|react-navigation|@react-navigation/.*|@unimodules/.*|unimodules|sentry-expo|native-base|normalize-url|react-native-svg|@sentry/.*|sentry-expo)"
],
"modulePathIgnorePatterns": [
"__tests__/.*/__mocks__",
"__e2e__/.*"
],
"coveragePathIgnorePatterns": [
"<rootDir>/node_modules/",
"<rootDir>/src/platform",
"<rootDir>/src/third-party",
"<rootDir>/src/view/com/util",
"<rootDir>/src/state/lib",
"<rootDir>/__tests__/test-utils.js"
],
"reporters": [
"default",
"jest-junit"
]
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}
2
Answers
Here is your issue and here the fix.
Basically you need to upgrade to [email protected]
Can you try
yarn add expo-image
? I had the same issue and updating expo-image solved my issue.