Expo app.json配置插件导致iOS端AppCenter上传失败
Expo打包IPA上传AppCenter报错:Loading release id failed: A problem occured while extracting your app
手动将Expo项目打包的.ipa文件上传至AppCenter,或是通过Azure流水线自动上传,都会触发以下错误:
Loading release id failed: A problem occured while extracting your app. (Correlation ID: my_uuid)
排查发现明确规律:当app.json中完全移除plugins字段时,上传可以正常完成;但只要保留plugins——不管是空数组[]、配置单个插件(如expo-camera),还是带参数的插件配置(如expo-build-properties)——都会触发上述错误。
app.json配置示例
{ "expo": { "name": "MY PROJECT", "slug": "MY-Project", "version": "1.0.0", "orientation": "portrait", "icon": "./assets/images/qa-icon-1024.png", "userInterfaceStyle": "light", "backgroundColor": "#001689", "splash": { "image": "./assets/images/qa-splash.png", "resizeMode": "contain", "backgroundColor": "#001689" }, "assetBundlePatterns": ["**/*"], "ios": { "supportsTablet": true, "bundleIdentifier": "com.example.myproject", "buildNumber": "1.0.0" }, "android": { "adaptiveIcon": { "foregroundImage": "./assets/images/qa-icon-1024.png", "backgroundColor": "#001689" }, "package": "com.example.myproject", "versionCode": 1 }, "web": { "favicon": "./assets/favicon.png" }, "extra": { "eas": { "projectId": "my_uuid" } }, "plugins": [ [ "expo-build-properties", { "android": { "minSdkVersion": 23, "compileSdkVersion": 33, "targetSdkVersion": 33, "buildToolsVersion": "33.0.0" } } ] ] } }
其他触发错误的plugins配置示例
空plugins数组
{ "expo": { ... "plugins": [] } }
单个插件配置
{ "expo": { ... "plugins": ["expo-camera"] } }
带参数的插件配置
{ "expo": { ... "plugins": [ [ "expo-build-properties", { "android": { "minSdkVersion": 23, "compileSdkVersion": 33, "targetSdkVersion": 33, "buildToolsVersion": "33.0.0" } } ] ] } }
package.json配置
{ "name": "MY-Project", "version": "1.0.0", "main": "node_modules/expo/AppEntry.js", "scripts": { "start": "expo start --port 8082", "android": "expo run:android --port 8082", "ios": "expo run:ios", "web": "expo start --web" }, "dependencies": { "@react-navigation/native": "^6.1.9", "@react-navigation/stack": "^6.3.20", "axios": "^1.6.2", "expo": "^49.0.6", "expo-build-properties": "^0.8.3", "expo-secure-store": "~12.3.1", "expo-splash-screen": "~0.20.5", "expo-status-bar": "~1.6.0", "expo-system-ui": "^2.6.0", "formik": "^2.4.2", "react": "18.2.0", "react-native": "0.72.6", "react-native-gesture-handler": "~2.12.0", "react-native-get-random-values": "~1.9.0", "react-native-reanimated": "^3.6.1", "react-native-safe-area-context": "4.6.3", "react-native-screens": "^3.27.0", "uuid": "^9.0.1", "yup": "^1.2.0", "zustand": "^4.4.6" }, "devDependencies": { "@babel/core": "^7.20.0", "@babel/preset-env": "^7.22.9", "@types/node": "^20.4.2", "@types/react": "~18.2.14", "@types/uuid": "^9.0.7", "@typescript-eslint/eslint-plugin": "^6.1.0", "@typescript-eslint/parser": "^6.1.0", "babel-plugin-jest-hoist": "^29.5.0", "babel-plugin-module-resolver": "^5.0.0", "eslint": "^8.45.0", "eslint-config-prettier": "^8.8.0", "eslint-plugin-header": "^3.1.1", "eslint-plugin-import": "^2.27.5", "eslint-plugin-jsdoc": "^46.4.4", "eslint-plugin-jsx-a11y": "^6.7.1", "eslint-plugin-prettier": "^5.0.0", "eslint-plugin-react": "^7.32.2", "eslint-plugin-react-hooks": "^4.6.0", "typescript": "^5.1.3" }, "private": true }
内容的提问来源于stack exchange,提问作者Fiddle Freak
相关产品推荐
相关产品推荐

