反应本机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 installcd ios && pod install && cd .. 然后从 Xcode 中打开 .xcworkspace 文件,它就可以工作了。

【讨论】:

【参考方案2】:

首先,您应该确保已安装 brewnodewatchman。之后,请尝试按照以下步骤操作。

    删除你的实际项目,关闭模拟器,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/buildios/DerivedData,设置 Legacy Build,清除缓存,删除/重新安装 node_modules。还是得到Print: Entry, ":CFBundleIdentifier", Does Not Exist 非虚拟机。需要安装一些 cocoapods。不知道他们被添加了。 旧版本现已弃用。 xcode 12 中的解决方案是什么?? 是的,xcode-12 面临同样的问题,任何修复@DimpleShah 在 Xcode 12 上,修复在命令行上运行的这个问题;升级react-native CLI

以上是关于反应本机iOS构建问题在提供的路径中找不到应用程序包的主要内容,如果未能解决你的问题,请参考以下文章

在反应本机插件中找不到xcode库文件的标头

在本机反应中找不到 sdk 位置

在本机反应中找不到框架 UserMessagingPlatform.xcframework

无法在本机反应上构建 APK

如何在本机反应中捕捉 ios 设备按钮按下?

Cordova 构建 iOS 错误:在路径“path/to/myApp.xcarchive”中找不到存档