React Native IOS Build CFBundleIdentifier不存在

时间:2018-03-15 11:55:35

标签: react-native

我已经创建了示例React Native项目,并按照原生网站的反应进行了教程。

我已经尝试运行应用程序IOS模拟器,其抛出错误如下,

 ** BUILD FAILED **


        The following build commands failed:
            PhaseScriptExecution Install\ Third\ Party /Users/Test/Documents/REACTJS/SampleReactNative/ios/build/Build/Intermediates.noindex/React.build/Debug-iphonesimulator/double-conversion.build/Script-190EE32F1E6A43DE00A8543A.sh
        (1 failure)

        Installing build/Build/Products/Debug-iphonesimulator/SampleReactNative.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/SampleReactNative.app/Info.plist
        Print: Entry, ":CFBundleIdentifier", Does Not Exist

我的环境设置信息,

  • 节点版本v9.8.0 npm版本5.6.0 react-native-cli:2.0.1 react-native:0.54.2 xcode 9.2

请帮助我们解决问题。

12 个答案:

答案 0 :(得分:4)

我在init之后就遇到了同样的问题:

react-native init myapp cd myapp react-native run-ios

..虽然run-android很好。

目前不是解决方案而是解决方法,可能是使用较低版本的RN初始化:

react-native init myapp --version react-native@0.51.0

构建好了。 与现有项目类似,安装较旧版本的RN。

0.54.2之前的其他版本可能有效,但我还没试过。

(编辑2018/4/2) 通过以下链接找到我的解决方案:https://github.com/facebook/react-native/issues/18238

  

RN 0.54要求从iOS 11开始提供类型。因此,您必须升级您的xcode并将应用中的最低iOS版本设置为11

简而言之,升级后的OSX& Xcode到最新。 (截至今日,OSX 10.13.4 Xcode& 9.3)

答案 1 :(得分:3)

这可能是由于找不到某些库文件而发生的。您需要按照我已经完成的一些步骤进行操作,这对我来说是完美的。 1.)转到Xcode项目->目标->选择构建阶段->转到目标依赖项->单击+->添加“反应”,然后按添加。

2。)Xcode>产品->方案>管理sceme->单击+按钮-> targetName(React)->好的->通过选中共享列下的复选框来共享此内容。

3。)清理您的项目并尝试构建,如果出现一些错误,例如“找不到 glog / logging.h 文件”或“ cofig.h Xcode中的“找不到文件”和“ CFBundleIdentifier不存在”,则不必担心。您只有一步之遥。如果缺少config.h文件,可能会发生这种情况。为此,您需要更新config.h文件。为此

4。)遵循以下步骤 a。)关闭您的Xcode b。)打开带有项目的终端(或者您可以直接在项目上单击鼠标左键并将文件夹拖动到关闭的终端,[它将自动从相应文件夹中获取路径]) c。)编写命令

  

cd node_modules / react-native / third-party / glog-0.3.4 /

d。)通过命令运行配置脚本文件

  

./ configure

e。)现在关闭终端,并使用项目根路径转到终端。现在尝试通过

最终运行您的iOS项目
  

react-native run-ios

快乐编码:)

答案 2 :(得分:1)

运行命令

react-native upgrade
react-native run-ios

react-native run-android

这是在遇到这个问题时解决了

答案 3 :(得分:1)

对于 XCODE 10.0 , 我做了两件事

1)check out this answer 基本上说 转到文件->项目设置

点击“高级”按钮

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

将“内部版本/产品”更改为“内部版本/产品”

2)如果(1)对您不起作用,则从xcode打开项目 转到项目导航器,然后选择您的项目名称->转到信息->使用 debug 进行命令行构建。

do this

3)转到终端,然后react-native run-ios

答案 4 :(得分:1)

对于仍然有此问题的任何人,由于xcode 12升级,我本人经历了此问题。我通过使用以下命令升级rn解决了我的问题:

)

然后转到podfile更改您的

react-native upgrade

pod 'ReactCommon/callinvoker', :path => "../node_modules/react-native/ReactCommon"

祝你好运!

答案 5 :(得分:0)

您的Info.plist中是否有CFBundleIdentifier?

如果不是为了例如添加它。 com.ios.learning

enter image description here

答案 6 :(得分:0)

通常,由于版本不一致(react-native,OS或XCode)而出现此错误。我在MacOS Sierra和XCode v0.57.0上使用本机v9.x遇到了同样的问题。 我要做的就是先升级到High Sierra,然后再将XCode升级到v10.0

否则,您必须通过downgrading it使用旧版本的react-native 或通过使用旧版本初始化项目

react-native init test --version react-native@0.x.x

答案 7 :(得分:0)

我有同样的问题

react-native upgrade将我的项目升级到v0.57.3,现在可以正常使用了。

答案 8 :(得分:0)

尝试将CFBundleIdentifier添加到Info.plist中,如下所示:

 <key>CFBundleIdentifier</key>
<string>org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)</string>

答案 9 :(得分:0)

npm卸载react-native

删除ios和android文件夹 然后运行:

npm install react-native

本机升级

答案 10 :(得分:0)

就我而言,只需删除build目录,Pods目录,node_modules目录并运行yarn installpod installnpx react-native run-ios解决问题。

答案 11 :(得分:0)

由于某种原因,React Native 正在尝试将您的应用安装在不同的应用名称上。您可以在 Xcode --> 构建设置 --> 打包 --> 将产品名称更改为模拟器尝试安装的路径中给出的名称。

看看这个:https://amala-gopal.medium.com/entry-cfbundleidentifier-does-not-exist-6098b90516f6