EAS构建时main.jsbundle文件不存在问题求助
iOS打包归档失败:main.jsbundle文件不存在问题
错误日志
正在复制 ./main.jsbundle ➜ ../../../Users/expo/workingdir/build/ios/main.jsbundle
错误:/Users/expo/workingdir/build/ios/main.jsbundle: 没有该文件或目录(在项目'awsgymprivate'的目标'awsgymprivate'中)
› 正在复制 ios/awsgymprivate/Supporting/Expo.plist ➜ ./Expo.plist › 正在编译 awsgymprivate » SplashScreen.storyboard ▸ ** 归档失败 ** ▸ 以下构建命令执行失败: ▸ CpResource /Users/expo/Library/Developer/Xcode/DerivedData/awsgymprivate-arsazrrfzqfpbbfjwzimmjlfgbfl/Build/Intermediates.noindex/ArchiveIntermediates/awsgymprivate/InstallationBuildProductsLocation/Applications/awsgymprivate.app/main.jsbundle /Users/expo/workingdir/build/ios/main.jsbundle(在项目'awsgymprivate'的目标'awsgymprivate'中) ▸ (1 次失败) 2024-02-07 22:36:13.003 xcodebuild[1998:7885] DVTCoreDeviceEnabledState: DVTCoreDeviceEnabledState_Disabled 通过用户默认设置(DVTEnableCoreDevice=disabled) ** 归档失败 **
已尝试的解决方法
- 执行手动生成bundle文件的命令:
npx react-native bundle --entry-file index.js --platform ios --dev false --bundle-output ios/main.jsbundle --assets-dest ios - 修改Xcode的Build Phases配置:
在Build Phases -> Bundle React Native code and images中替换脚本为:cd $PROJECT_DIR/.. export NODE_BINARY=node ./node_modules/react-native/scripts/react-native-xcode.sh
以上方法均无效,寻求解决建议。
可行的解决建议
创建目标目录并配置权限
从日志看,Xcode尝试写入的目录可能不存在或权限不足,手动创建并授权:mkdir -p /Users/expo/workingdir/build/ios chmod -R 755 /Users/expo/workingdir/build/ios直接将bundle输出到目标路径
修改手动生成命令,把文件直接输出到Xcode期望的位置:npx react-native bundle --entry-file index.js --platform ios --dev false --bundle-output /Users/expo/workingdir/build/ios/main.jsbundle --assets-dest /Users/expo/workingdir/build/ios检查Xcode的额外复制阶段
打开Xcode项目的Build Phases,查看是否有额外的Copy Files阶段在复制main.jsbundle。如果存在,确认源路径是否正确,或直接移除该阶段(Bundle React Native code and images脚本已处理bundle的生成与复制)。清理缓存后重新构建
清理Xcode缓存和项目构建文件,再尝试归档:rm -rf ~/Library/Developer/Xcode/DerivedData xcodebuild clean -workspace awsgymprivate.xcworkspace -scheme awsgymprivate -configuration Release使用Expo CLI构建(针对Expo项目)
若为Expo托管项目,直接用Expo CLI归档,避免手动修改Xcode配置导致的路径冲突:expo build:ios --release-channel production
内容的提问来源于stack exchange,提问作者caesar
相关产品推荐
相关产品推荐

