输出: 条目,“ : CFBundleIdentifier”,不存在

当我运行 react-native run-ios时,构建成功了,但是我得到了下面的错误。我已经检查了所有的地方,但似乎没有工作。在命令前使用 sudo也没有帮助。我使用的是 Xcode 7.3,response-national-cli: 0.2.0,response-national: 0.24.1,node v5.11.0。

=== BUILD TARGET mobileTests OF PROJECT mobile WITH CONFIGURATION Release ===


Check dependencies


** BUILD SUCCEEDED **


Installing build/Build/Products/Debug-iphonesimulator/mobile.app
An error was encountered processing the command (domain=NSPOSIXErrorDomain, code=2):
Failed to install the requested application
An application bundle was not found at the provided path.
Provide a valid path to the desired application bundle.
Print: Entry, ":CFBundleIdentifier", Does Not Exist
/Users/astiefel/workspace/bosspayments/mobile/node_modules/promise/lib/done.js:10
throw err;
^


Error: Command failed: /usr/libexec/PlistBuddy -c Print:CFBundleIdentifier build/Build/Products/Debug-iphonesimulator/mobile.app/Info.plist
Print: Entry, ":CFBundleIdentifier", Does Not Exist


at checkExecSyncError (child_process.js:470:13)
at Object.execFileSync (child_process.js:490:13)
at _runIOS (runIOS.js:91:34)
at runIOS.js:24:5
at tryCallTwo (/Users/astiefel/workspace/bosspayments/mobile/node_modules/promise/lib/core.js:45:5)
at doResolve (/Users/astiefel/workspace/bosspayments/mobile/node_modules/promise/lib/core.js:200:13)
at new Promise (/Users/astiefel/workspace/bosspayments/mobile/node_modules/promise/lib/core.js:66:3)
at Array.runIOS (runIOS.js:23:10)
at Object.run (/Users/astiefel/workspace/bosspayments/mobile/node_modules/react-native/local-cli/cli.js:86:13)
at Object.<anonymous> (/usr/local/lib/node_modules/react-native-cli/index.js:88:7)
149408 次浏览

您是否检查了您声明的 bundle 标识符?您可以通过在 xcode 中单击您的项目文件,然后选择常规选项卡,它被列在“ Identity”下的第一个文本框中。另一种检查方法是将 info.plist 文件签入到项目的 IOS 文件夹中。在我的 info.plist 中是这样显示的。我的项目的实际捆绑包标识符在 xcode 中。

<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>

我的问题实际上是我的构建处于发布模式而不是调试模式。因此,标识符指向的是不存在的东西。我改变了构建类型,它最终工作了。

当我安装了一个新软件包之后,我的 node _ module 文件夹出现了问题,我就遇到了这种情况。我杀死了文件夹 rm -rf node_modules,然后做了一个 npm install重新安装我的软件包,这修复了它。

更新反应使用 react-native upgrade为我做到了这一点。

免责声明 : 这会覆盖你所有的 iOS 配置,小心使用

我将 Xcode 更新为 v8,错误得到了解决。

如果收到此错误,则可能没有应用程序的正确路径。

处理命令时遇到错误(domain = NSPOSIXErrorDomain,code = 2) : 未能安装请求的应用程序 在提供的路径上没有发现捆绑。 提供所需捆绑的有效路径。 输出: 条目,“ : CFBundleIdentifier”,不存在

React National 已经将其硬编码为 runIOS.js 中 run-ios 命令的一部分

build/Build/Products/${configuration}-${isDevice ? 'iphoneos' : 'iphonesimulator'}/${appName}.app

不幸的是,Xcode 具有不同的构建路径,这取决于您的配置以及是否使用 Xcode 项目或工作区。我认为 Xcode 项目的默认路径是 build/Products
我提交这个 pull 请求 11899年是为了让程序员从 CLI 获得更多的灵活性。

Xcode 公开计划

如果 Xcode > 9 运行命令 react-native upgrade(这会覆盖所有的 iOS 配置,小心使用!)

那么

1. 转到文件-> 项目设置

点击高级按钮

3. 在下拉菜单中选择“自定义”并选择“相对于工作区”

4. 把“建造/产品”改为“建造/建造/产品”,把“建造/中间产品”改为“建造/建造/中间产品”

Add package

5. 点击完成,完成

这个工作为我点击 RCTWebSocket 项目在您的导航器和删除标志下的构建设置 > 自定义编译器标志 enter image description here

0.44可以运行,但0.45不能,可能是版本问题 我用下面的命令解决了这个问题: Rninit init TaxiApp —— source response-national@0.44.0;

我发现了如何解决这个问题: 不要在你的项目路径中使用空间!

由于删除了一些我在 Xcode 不用的模拟器,我的终端弹出了相同的消息。

如果没有特定的参数运行 react-native run-ios,response-national 将运行默认的模拟器,在我的例子中是 iOS10.3.1版本的 iPhone6,我偶然删除了这个模拟器。

下面是我的错误消息:

xcodebuild: error: Unable to find a destination matching the provided destination specifier:
{ id:F3A7BF54-B827-4517-A30D-8B3241C8EBF8 }


Available destinations for the "albums" scheme:
{ platform:iOS Simulator, id:CD64F26B-045A-4E27-B05A-5255924095FB, OS:10.3.1, name:iPad Pro (9.7 inch) }
{ platform:iOS Simulator, id:8FC41950-9E60-4264-B8B6-20E62FAB3BD0, OS:10.3.1, name:iPad Pro (10.5-inch) }
{ platform:iOS Simulator, id:991C8B5F-49E2-4BB7-BBB6-2F5D1776F8D2, OS:10.3.1, name:iPad Pro (12.9 inch) }
{ platform:iOS Simulator, id:B9A80D04-E43F-43E3-9CA5-21137F7C673D, OS:10.3.1, name:iPhone 7 }
{ platform:iOS Simulator, id:58F6514E-185B-4B12-9336-B8A1D4E901F8, OS:10.3.1, name:iPhone 7 Plus }

. . .

Installing build/Build/Products/Debug-iphonesimulator/myapp.app
An error was encountered processing the command (domain=NSPOSIXErrorDomain, code=2):
Failed to install the requested application
An application bundle was not found at the provided path.
Provide a valid path to the desired application bundle.
Print: Entry, ":CFBundleIdentifier", Does Not Exist


Command failed: /usr/libexec/PlistBuddy -c Print:CFBundleIdentifier build/Build/Products/Debug-iphonesimulator/myapp.app/Info.plist
Print: Entry, ":CFBundleIdentifier", Does Not Exist

为了摆脱这些问题,打开您的 Xcode 并检查可用的模拟器(与列出的终端相同) ,然后运行 react-native run-ios --simulator="your device name"

对于我的情况,我运行 react-native run-ios --simulator="iPhone 7",问题解决了。

这招对我很管用。 按照步骤 https://facebook.github.io/react-native/docs/getting-started.html(使用本机代码构建项目)。

在运行 本地人的反应命令之前,请从 https://sourceforge.net/projects/boost/files/boost/1.63.0/下载 Boost 节点模块,并替换 node _ module/response-national/Third-party/Boost _ 1 _ 63 _ 0

现在运行 本地人的反应命令

当您运行 npm install命令一段时间的互联网问题,文件在 node_modules\react-native\third-party没有正确下载,所以请检查这是正确下载或没有,如果没有请删除节点模块,并重新安装它

然后运行 react-native run-ios命令

我也遇到了这个问题,并且找到了解决它的方法

我是这么做的:

1)确保文件目录中没有空格。

2) cd 项目目录

3)执行命令 本机升级

4)转到原生 ios 文件夹并打开 xcode 项目。

5)进入档案 > 专案设定 > 高级..。

6)选择 custom> Relatedtoworkspace

7)产品路径应为「建造/制造/产品」

8)中间路径应为「建造/建造/中间路径」

9)现在尝试在终端 本地人的反应中运行命令

我希望这个解决方案将有助于我们中的一些人面对这个问题。

对于 react-native@0.46.4来说,以下几点对我起到了作用:

1)检查路径,打开.xcodeproj (而不是.xcworkspace)文件,然后:

  • 转到文件 > 项目设置 > 高级

  • 自定义 > 相对于工作区

  • 将产品路径设置为 'build/Build/Products'
  • 将中间体路径设置为 'build/Build/Intermediates'
  • 按“完成”并保存更改

2)在项目的根目录中运行 rm -rf ios/build

3)关闭反应包装机

4)再次运行 react-native run-ios

经过几个月的尝试所有的答案,我终于更新我的操作系统塞拉利昂,更新 XCode 的最新版本,并与所有的错误消失。希望这能帮到大家!

对我来说,同时使用 Cocoapods 和 react-native link意外地建立模块是个问题。

不要把这两个混为一谈!

添加对我来说很有用,因为没有什么比这更好的了:

  1. 安装 response-national-git-update 并更新您的项目
  2. 打开 Xcode-> 文件-> 项目设置-> 高级。
  3. 选择“ 习俗”,然后选择“ 相对于工作区”,然后单击“完成”,“完成”。
  4. 更新你的 CLI npm i -g react-native-cli
  5. 更新您的 Nodejs8和 NPM.nvm install --ltsnvm install-latest-npm
  6. 删除 ios/build 和 node _ module (在项目根路径中)
  7. 继续进行 npm installreact-native run-ios,给我一个拥抱: -)

在这里终于管用了。

  • Mac OS High Sierra 10.13.4
  • Xcode 9.3
  • NPM 5.8.0
  • 节点8.11.1
  • RN 0.55.2

不幸的是,上面提到的解决方案对我都不管用。

在尝试了 这个问题的一些答案之后,下面的方法终于奏效了:

由于一个或多个必需的 iOS 第三方库没有正确下载到 ~/.rncache(这意味着里面的文件已经损坏,无法解压) ,我删除了这个文件夹的内容,再次运行 react-native run-ios,最终成功了。

对 OSX EL CAPITAN 进行修正

我还在使用 OSX 10.11.6和 XCode 8.2.1... 将来会升级,但不是今天。我能够通过降低原生到52.0的反应级别来克服: CFBundleIdentifier 错误

yarn upgrade react-native@52.0

帮我在模拟器上做了个成功的模型,干杯!

对我来说,这是 Xcode9.4的本机兼容性问题。 我通过以下步骤解决了这个问题。 在我的项目/根目录上

  1. Rm-rf node _ module
  2. 本机升级
  3. Npm 安装
  4. 本地人的反应

解决了这个问题,这个帖子帮助我理解了这个问题。

如果缺少 Config.h文件,则可能发生这种情况,

更新 Config.h文件,

1)关闭 Xcode。

2)打开终端,进入你的项目的根文件夹,然后做:

cd node_modules/react-native/third-party/glog-{X}.{X}.{X}/

3)运行配置脚本:

./configure

4)打开 Xcode 并尝试运行你的应用程序。

{ X } : 版本号 glog

删除节点模块并在项目目录中运行“ npm install”。 现在您可以运行该项目了。

在可能的原因列表中添加一个: Xcodebuild可能已损坏。

在我的示例中,xcodebuild 没有执行任何操作,因此它从未生成 IOS/build/目录,并导致了上面的错误。

我在命令行中使用了‘ which xcodebuild’,然后删除了它,错误就消失了

我花了一段时间才意识到 xcodebuild 很糟糕——我查看了日志消息并手动运行带有 response 本机参数的 xcodebuild 命令——没有任何输出。没有构建消息,没有错误消息,什么都没有。跑步没有参数-相同的... 。

这里还有一件事要检查是否出现了这个错误消息。 xcodebuild 是否正常工作?

在我的例子中,我从 git 中提取项目,它还包括 IOS 文件夹。

首先我删除 ios 文件夹 rm -rf ios 然后是 react-native upgrade

基本原因是部署端口不是免费的。 您可以重新启动设备并获得所有端口空闲,否则运行 $ lsof -i :8081并找到占用端口8081的进程。 通过运行 $ kill -9 {process_which_is_running_under_8081}终止使用端口8081的进程

首先从 Xcode 运行您的项目,然后尝试从命令行运行。

Print: Entry, ":CFBundleIdentifier", Does Not Exist消息只是表明您的项目编译或链接失败。您需要回过头来查看您的输出,以便找到有关实际根本原因的提示。

如果遇到问题,请查看完整的构建输出,而不仅仅是最后几行。你可能想在 Xcode 打开这个项目,然后点击 something b 来构建它。Xcode 中的构建错误应该可以帮助您找到失败的根本原因。

如果你正在使用 Xcode 10,这可能是由于与 Xcode 最新的构建系统不兼容。尝试切换到遗留的构建系统。

打开 Xcode 10,文件 > 项目设置 > 构建系统 > 切换到遗留构建系统。

Screenshot

您可以按照以下步骤解决此错误:

第一步

Open terminal

第二步

cd node_modules/react-native/third-party

第三步

ls


Copy or identify glog-{version}

第四步

cd ../../../

第五步

cd node_modules/react-native/third-party/glog-{version}

第六步

./configure

我希望这将工作! ! !

我通过删除 /build/并再次运行 react-native run-ios修复了这个问题

我在 XCode10与 RN 版本0.5.7,我尝试了几乎所有的解决方案,没有工作。

在浪费了很多时间之后,我最终通过以下方法得到了它的工作

  1. 通过运行 react-native init project --version react-native@0.56安装以前版本的动作原生版本
  2. 打开 project/ios/project.xcodeproj并为命令行生成选择 Debug
  3. 确保选择正确的开发证书
  4. 再次运行 react-native run-ios,这次它必须工作。

在 xcode 10.1中使用这个版本是可行的

"react": "16.6.0-alpha.8af6728",
"react-native": "0.57.4"

只要在 xcode 应用程序中打开项目,它就会自动完成所有的导入和解决问题。 对我来说挺管用的 Xcode 10 +

编辑1: 打开应用程序的 iOS 文件夹而不是全局文件夹。

我尝试了所有这些解决方案,但对我有效的一个是:

  1. 运行 react-native upgrade
  2. 打开 xcode
  3. 在 xCode 中运行应用程序
  4. 没问题!

所有这些解决方案对我都不起作用。我刚刚创建了一个 rn0.58.5项目。和我的项目相比。我看到在 Build Phasess > Link Binary With Libraries下面没有 JavaScriptCore.framework。在拖放 JavaScriptCore 之后,本地的 run-ios 构建成功了。

JavaScriptCore.framework位置: ‎⁨Macintosh HD⁩ ▸ ⁨Applications⁩ ▸ ⁨Xcode⁩ ▸ ⁨Contents⁩ ▸ ⁨Developer⁩ ▸ ⁨Platforms⁩ ▸ ⁨iPhoneOS.platform⁩ ▸ ⁨Developer⁩ ▸ ⁨SDKs⁩ ▸ ⁨iPhoneOS.sdk⁩ ▸ ⁨System⁩ ▸ ⁨Library⁩ ▸ ⁨Frameworks⁩

JavaScriptCore.framework

对我来说,是 cocoapods 管理的 ios 依赖。

不得不这么做:

$ cd ToProject/ios


$ pod install


$ react-native run-ios

这招对我很管用

Https://shift.infinite.red/beginner-s-guide-to-using-cocoapods-with-react-native-46cb4d372995

附言: 试图弄清楚别人做了什么工作

我在运行 react-native run-ios --scheme="customscheme"时得到了这个错误,customscheme 的名称拼写错误。

尝试查看当前错误之前发生的错误消息,即 "CFBundleIdentifier”, Does Not Exist

修正以前的错误,然后这个错误应该消失。

我修正了以前运行 react-native run-ios --simulator="iPad Pro (9.7-inch)时出现的 duplicate symbols for architecture错误,然后问题就解决了。

类似于 The domain/default pair of (../ios/Runner/Info, CFBundleIdentifier) does not exist的错误消息

意思是 Xcode 认为你的 plistinvalid format content

您需要过去的 Info.plist文件的内容,以找出什么是错误的文件。

一个可能的问题是这些 <key><values>(<array><string><bool>)没有正确配对。例如:

<key>UISupportedInterfaceOrientations</key>         //<------ here is the key
<key>NSPhotoLibraryUsageDescription</key>
<key>NSCameraUsageDescription</key>
<string>Tagueo necesita usar la camara</string>
<key>NSMicrophoneUsageDescription</key>
<string>Tagueo necesita usar el microfono</string>
<array>                                            //<------ here is the value
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>   //<------ please compare this key
<array>                                            //<------ please compare this value
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>

您只需将 keyvalue移动到一起即可

<key>UISupportedInterfaceOrientations</key>        //<------ here is the key
<array>                                            //<------ follow with the value
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>

我在 iOS14和 Xcode 12上面临同样的问题。

Error: Command failed: ...../Info.plist
Print: Entry, ":CFBundleIdentifier", Does Not Exist

我解决了它删除我的 yarn.lock文件和 node_modules文件夹。然后用 yarn install重新安装所有程序。其背后的逻辑是,这将升级您的 react-native-cli修好了这个错误。

我知道这是个老问题,但如果这里有任何问题没有解决你的问题。我在阅读了 这个答案关于另一个问题后解决了我的问题。让我解释一下:

我只是有同样的问题,在我的情况下,Info.plist是不可能被找到的,这就是为什么我的 产品名称生成设置是错误的。我不知道为什么以前这个名字变了。

error Command failed: /usr/libexec/PlistBuddy -c Print:CFBundleIdentifier /Users/joaolavoier/Library/Developer/Xcode/DerivedData/WalletApp-dkxuxrpnrdamwmchtgsxasmjabmt/Build/Products/Debug-iphonesimulator/WalletApp.app/Info.plist
Print: Entry, ":CFBundleIdentifier", Does Not Exist
. Run CLI with --verbose flag for more details.
Error: Command failed: /usr/libexec/PlistBuddy -c Print:CFBundleIdentifier /Users/joaolavoier/Library/Developer/Xcode/DerivedData/WalletApp-dkxuxrpnrdamwmchtgsxasmjabmt/Build/Products/Debug-iphonesimulator/WalletApp.app/Info.plist
Print: Entry, ":CFBundleIdentifier", Does Not Exist


at checkExecSyncError (child_process.js:616:11)
at Object.execFileSync (child_process.js:634:15)
at runOnSimulator (/Users/joaolavoier/Workspace/wallet-app/node_modules/@react-native-community/cli-platform-ios/build/commands/runIOS/index.js:191:45)
at processTicksAndRejections (internal/process/task_queues.js:93:5)
at async Command.handleAction (/Users/joaolavoier/Workspace/wallet-app/node_modules/@react-native-community/cli/build/index.js:186:9)
error Command failed with exit code 1.

正如你所看到的,它正在寻找 /Users/joaolavoier/Library/Developer/Xcode/DerivedData/WalletApp-dkxuxrpnrdamwmchtgsxasmjabmt/Build/Products/Debug-iphonesimulator/WalletApp.app/Info.plist中的 Info.plist

但是 WalletApp.app文件夹并不存在。

解决这个问题的步骤:

    1. 转到 目标 > WalletApp > Build Settings 选项卡
    1. 滚动到 包装 > 产品名称
    1. 将产品名称更改为 WalletApp
    1. 删除了生成文件夹 rm -rf /Users/joaolavoier/Library/Developer/Xcode/DerivedData/WalletApp-dkxuxrpnrdamwmchtgsxasmjabmt
    1. 干净 产品 > 清洁生成文件夹
    1. 构建 产品 > 建造
    1. 最后在您的项目 yarn startyarn ios的根。

我希望它能帮到别人。

我也得到相同的错误,而运行项目 本地人的反应

但是当我从 xcode 运行项目时,这就是我的工作。

我的产品名里有个空格。文件系统找不到生成目录。我把“恩典教堂”改成了“恩典教堂”。这不会影响显示名称。修正目标 > 构建设置 > 打包 > 产品名称

build settings

按照下面的步骤

  1. 清除衍生资料
  2. 从 Xcode 建立和运行
  3. 现在尝试使用命令行