反应本机iOS构建问题在提供的路径中找不到应用程序包
Posted
技术标签:
【中文标题】反应本机iOS构建问题在提供的路径中找不到应用程序包【英文标题】:React native iOS build issue An application bundle was not found at the provided path 【发布时间】:2019-04-26 19:55:51 【问题描述】:我对本机反应很陌生。我创建了一个 Hello World 项目,但无法在 ios 上运行它。每次我为 iOS 运行项目时,它都会引发以下错误
** 构建失败 **
以下构建命令失败: CompileC /Users/usman/FunZoneAppsProjects/ProjectName/ios/build/Build/Intermediates/React.build/Debug-iphonesimulator/React.build/Objects-normal/x86_64/RCTShadowView+Internal.o Views/RCTShadowView+Internal.m普通 x86_64 目标-c com.apple.compilers.llvm.clang.1_0.compiler (1 次失败)
安装 build/Build/Products/Debug-iphonesimulator/ProjectName.app 处理命令时遇到错误(域=NSPOSIXErrorDomain,代码=2): 未能安装请求的应用程序 在提供的路径中找不到应用程序包。 提供所需应用程序包的有效路径。 打印:条目,“:CFBundleIdentifier”,不存在
命令失败:/usr/libexec/PlistBuddy -c Print:CFBundleIdentifier build/Build/Products/Debug-iphonesimulator/ProjectName.app/Info.plist 打印:条目,“:CFBundleIdentifier”,不存在
错误:命令失败:/usr/libexec/PlistBuddy -c Print:CFBundleIdentifier build/Build/Products/Debug-iphonesimulator/ProjectName.app/Info.plist 打印:条目,“:CFBundleIdentifier”,不存在
at checkExecSyncError (child_process.js:621:11)
at Object.execFileSync (child_process.js:639:13)
at Promise.then (/Users/usman/FunZoneAppsProjects/ProjectName/node_modules/react-native/local-cli/runIOS/runIOS.js:208:5)
我读过很多人用不同的修复方法解决了这个问题,但没有一个对我有用。可能是什么问题? TIA
【问题讨论】:
【参考方案1】:在 mac OS Big Sur 和 Xcode 12 上对我有用的是,
-
删除
package-lock.json
文件。
运行npm install
和cd ios && pod install && cd ..
然后从 Xcode 中打开 .xcworkspace
文件,它就可以工作了。
【讨论】:
【参考方案2】:首先,您应该确保已安装 brew
、node
和 watchman
。之后,请尝试按照以下步骤操作。
删除你的实际项目,关闭模拟器,xcode并在你的项目watchman watch-del-all && rm -rf $TMPDIR/react-native-packager-cache-* && rm -rf $TMPDIR/metro-bundler-cache-* && rm -rf node_modules/ && npm cache clean
的路径文件夹上运行。最后关闭命令行
在桌面中创建一个名为 RNProjects 的文件夹。打开命令行并运行cd Desktop/RNProjects
。
在命令行中运行react-native init myProjectName
。您可以根据需要命名项目。您应该将“myProjectName”更改为所需的项目名称。
安装完成后(需要几分钟),确保在命令行中您位于路径RNProjects
,然后运行cd myProjectName
。如果您给项目取了不同的名称,只需将“myProjectName”替换为真实的项目名称即可。
最后,只需运行react-native run-ios
。如果你想在真正的 iDevice 中测试它,请告诉我。
编辑 1
如果brew, node or watchman
尚未安装,请按照此操作
对于 HOMEBREW,请遵循此 link。您应该将其粘贴到终端提示符处。 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
之后运行brew install node
brew install watchman
然后运行npm install -g react-native-cli
安装Xcode命令行工具follow this link
【讨论】:
运行命令时 'watchman watch-del-all && rm -rf $TMPDIR/react-native-packager-cache-* && rm -rf $TMPDIR/metro-bundler-cache-* && rm -rf node_modules/ && npm cache clean' 提示未找到 watchman 命令。 你安装了watchman、brew和node吗?一切都在这个链接上Getting Started 是的,我安装了除了守望者之外的所有东西,我运行了上述命令和你的所有指令,但不幸的是没有工作。 :// 否 :/ 仍在努力解决这个问题。 :// 打开项目文件夹。然后打开ios文件夹。然后打开 xcode 项目并从 xcode 运行模拟器。确保它配置的登录配置文件和开发团队。【参考方案3】:我认为这与新的 xcode 版本有关。尝试在 xcode 中打开您的项目。转到 File->Project Settings 并选择 Legacy build。然后尝试重建您的项目。
【讨论】:
这个建议对我不起作用。删除ios/build
和 ios/DerivedData
,设置 Legacy Build,清除缓存,删除/重新安装 node_modules
。还是得到Print: Entry, ":CFBundleIdentifier", Does Not Exist
非虚拟机。需要安装一些 cocoapods。不知道他们被添加了。
旧版本现已弃用。 xcode 12 中的解决方案是什么??
是的,xcode-12 面临同样的问题,任何修复@DimpleShah
在 Xcode 12 上,修复在命令行上运行的这个问题;升级react-native CLI以上是关于反应本机iOS构建问题在提供的路径中找不到应用程序包的主要内容,如果未能解决你的问题,请参考以下文章