打印:条目,":CFBundleIdentifier",不存在

ast*_*fel 113 ios reactjs react-native

当我运行react-native run-ios构建成功但我得到下面的错误.我已经检查了所有地方,但似乎没有任何工作.sudo在命令前面使用也无济于事.我使用的是Xcode 7.3,react-native-cli:0.2.0,react-native: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)
Run Code Online (Sandbox Code Playgroud)

小智 108

在Xcode中打开项目

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

然后

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

2.单击"高级"按钮

3.选择"自定义",然后在下拉菜单中选择"相对于工作区"

4.将"构建/产品"更改为"构建/构建/产品"

添加包

5.点击完成,完成

  • 你能解释一下为什么这个解决方案有效吗? (3认同)
  • 从xCode 10开始,这仍然是修复它的方法 (3认同)
  • @PatNeedham“项目设置”已重命名为“工作区设置” (2认同)

Lij*_*pin 69

如果您缺少config.h文件,可能会发生这种情况,

对于更新config.h文件,

1)关闭你的Xcode.

2)打开终端,转到项目的根文件夹并执行:

cd node_modules/react-native/third-party/glog-{X}.{X}.{X}/
Run Code Online (Sandbox Code Playgroud)

3)运行configure脚本:

./configure
Run Code Online (Sandbox Code Playgroud)

4)打开Xcode并尝试运行您的应用程序.

{X}:版本号glog

  • 我从头开始安装react-native,创建了我的第一个项目,但无法实现.这个答案解决了我的问题.我想知道为什么会这样,因为它是一个全新的装置 (6认同)
  • ...如果没有 `configure` 脚本,如 0.58 会怎样? (2认同)

小智 30

更新React使用react-native upgrade它为我做了.

免责声明:这会覆盖您的所有iOS配置,请谨慎使用!

  • 覆盖所有iOS文件将覆盖您对项目所做的任何配置.大声笑.使用免责声明是您可以做的最少的事情. (27认同)
  • 如果有人可以解释“您的所有 iOS 配置”是什么意思,那将会很有帮助。 (2认同)
  • @AndrewKoster这意味着如果您更改iOS目录中的文件,它将被覆盖。假设您在 Xcode 中更改了项目的配置,例如:在提示用户许可时添加描述。所有这些自定义更改都将被覆盖。 (2认同)
  • 有谁知道“react-native升级”可能会修改哪些文件?这些文件是项目的一部分吗?在版本控制下,还是默认忽略?或者它们是操作系统的一部分,不受版本控制的影响?这一切都非常模糊。 (2认同)

Chr*_*org 23

如果您使用的Xcode 10,这可能是由于在Xcode最新版本的系统不兼容.尝试切换到旧版构建系统.

打开Xcode 10,文件>项目设置>构建系统>切换到旧版构建系统的下拉列表.

这对我有用.

在此输入图像描述

  • 完美,但它说旧模式已被弃用。是不是有问题? (3认同)

Dan*_*llo 17

我在 iOS 14 和 Xcode 12 上遇到了同样的问题。

Error: Command failed: ...../Info.plist
Print: Entry, ":CFBundleIdentifier", Does Not Exist
Run Code Online (Sandbox Code Playgroud)

我通过删除我的yarn.lock文件和node_modules文件夹来解决它。然后用yarn install. 其背后的逻辑是这将升级您的react-native-cli 修复此错误。

  • 删除锁定文件(在我的例子中是“package-lock.json”,因为我没有使用yarn)有很大帮助。为我工作。 (2认同)
  • 我在 RN 0.62.2 中遇到了同样的问题。效果很完美!谢谢 (2认同)

ast*_*fel 10

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

  • 但是,如果要在发布模式下运行项目,该怎么办? (2认同)

Usm*_*wan 10

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

这是我做的:

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

2)cd 项目目录

3)运行命令react-native upgrade

4)转到本机ios文件夹并打开xcode项目.

5)转到文件>项目设置>高级...

6)选择自定义>相对于工作空间

7)产品路径应该是'build/Build/Products'

8)中间体路径应该是"构建/构建/中间体"

9)现在尝试在你的终端react-native run-ios中运行命令

我希望这些解决方案能够帮助我们中的一些人面对这个问题.

  • 没有为我工作仍然有这个错误:条目,":CFBundleIdentifier",不存在 (21认同)

Tim*_*Tim 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再次运行


Jad*_*ade 8

当我的node_modules文件夹在安装新软件包后变得棘手时,我发生了这种情况.我杀了文件夹rm -rf node_modules,然后npm install重新安装我的软件包并修复了它.


Héc*_*mos 7

Print: Entry, ":CFBundleIdentifier", Does Not Exist消息仅表示您的项目无法编译或链接。您需要返回到您的输出以找到有关实际根本原因的提示。

如果遇到问题,请查看完整的构建输出,而不仅仅是最后几行。您可能需要在Xcode中打开项目,然后按?B进行构建。Xcode中的生成错误应可帮助您找到失败的根本原因。


小智 6

如果您收到此错误,那么您可能没有正确的应用程序路径.

处理命令时遇到错误(domain = NSPOSIXErrorDomain,code = 2):无法安装所请求的应用程序在提供的路径中找不到应用程序包.提供所需应用程序包的有效路径.打印:条目,":CFBundleIdentifier",不存在

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

build/Build/Products/${configuration}-${isDevice ? 'iphoneos' : 'iphonesimulator'}/${appName}.app
Run Code Online (Sandbox Code Playgroud)

不幸的是,Xcode有不同的构建路径,具体取决于您的配置以及您是使用Xcode项目还是工作区.我相信Xcode项目的默认路径是build/Products.
我提交了这个拉取请求11899,以便为程序员提供更多的CLI灵活性.