解决 react-native run-ios 报 ":CFBundleIdentifier", Does Not Exist错误



  • react-native iOS 升级到0.45之后编译会报

    ** BUILD FAILED **

    The following commands produced analyzer issues:

    Analyze /Users/facglt/Desktop/RNDemo/node_modules/react-native/ReactCommon/yoga/yoga/YGNodeList.c
    Analyze /Users/facglt/Desktop/RNDemo/node_modules/react-native/ReactCommon/yoga/yoga/Yoga.c
    (2 commands with analyzer issues)

    The following build commands failed:
    PhaseScriptExecution Install\ Third\ Party /Users/facglt/Desktop/RNDemo/ios/build/Build/Intermediates/React.build/Debug-iphonesimulator/double-conversion.build/Script-190EE32F1E6A43DE00A8543A.sh
    (1 failure)

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

    RN iOS 0.45以上版本开始需要依赖一些第三方编译库,这些库在国内下载都非常困难(一般的翻墙工具都很难下载)
    未来RN不同版本可能依赖不同版本的第三方编译库,具体所需库和版本请查看ios-install-third-party.sh文件,注意先把左上角的branch切换到对应的版本

    1.首先查看自己根目录下的 .rncache/ 下的文件夹 这是一个隐藏的文件夹
    cd ~
    接着查看所有的文件
    ls -al
    然后再打开所在位置的文件夹
    open .rncache/

    查看.rncache文件夹下是否有四个压缩包

    boost_1_63_0.tar.gz
    folly-2016.09.26.00.tar.gz
    double-conversion-1.1.5.tar.gz
    glog-0.3.4.tar.gz

    注意查看 boost_1_63_0.tar.gz 这个压缩包,问题就在这里,如果你没有这个压缩包或者这个压缩包就
    几十KB大小,那么这个包就是个错误的包,不完整的包,你就需要去百度云

    https://pan.baidu.com/s/1kVDUAZ9#list/path=%2F

    下载新的 boost_1_63_0.tar.gz 压缩包

    可以查看这篇博客了解具体的操作 http://reactnative.cn/post/4301

    然后把 .rncache/ 下面的替换叼就好了,这个压缩包下载下来是有一百多M的,顺便对一下其他的压缩包是否正常.
    如果全部没有就自己创建一个.rncache文件夹到百度云上下载下来放上去.
    最后关机重启.
    创建react-native 项目 不需要加 --version 0.44.3 试一下,应该没问题的,我就是这么解决的.倍爽.



  • 非常感谢,完美解决我的问题



  • @Dzhijian 和你遇到的问题一样 升级xcode 7.2到9.0后 react-native init myApp --version 0.42.3 就好啦



  • @MAYDAY1993 这样子只是指定react-native 版本,不能解决根本问题,新建最新版本或者大于0.45版本的react-native就跑不起来了.



  • @Dzhijian 对哒 指定低版本 很奇怪我init之后的官方demo .rncache文件夹是空的



  • @MAYDAY1993 你没有更新最新版的react-native吧,先去更新一下



  • @Dzhijian init的时候默认的是最新的react-native 0.49 这个问题解决了 遇到了另一个问题 在模拟器里报错 好像是代理问题 公司网络自动翻墙 断网后就没问题 能看到初始页面 一连网就报错 请问这个你有经验么



  • @MAYDAY1993 这个没有遇到过



  • @Dzhijian 我解决啦 是代理问题



  • 请问,如果项目是安卓的同事创建的,他没有下载这些压缩包,然后我从git上拉项目,本地下载好压缩包后,npm install ,这样项目编译起来会有问题吗,总不至于一定要创建的时候就有这些包吧,或者说能使用什么其他命令把这些包加到项目上的?请赐教



  • @zhuman1993 你的项目能在iOS设备上build起来吗?
    如果报这个篇文章的错误,你就按我的方法解决,然后进入项目根目录用git 命令
    git add .
    后面有一点的,
    然后再
    git commit -am '.....'

    git push
    提上去就好了



  • @Dzhijian
    暂时还有其他问题报错,所以没编译起来,但我询问其他人发现,官方给的压缩包里boost这个是11.7m的,有人用了没问题,然后我看npm install 后的node_modules-->react-native-->thirtParty里是有这四个文件夹的,其中boost这个文件就是134M了,所以不知道我的项目有没有问题?
    再看我的项目里,Xcode打开后,react.xcodeproj里的ThisrtParty是这样的
    0_1509011476622_image.png

    全是红色,且没看到boost那个文件夹,所以不确定自己的项目有没有问题?

    请赐教,如果可以,可以截个你的项目里ThirtParty的目录截图给我看看吗?



  • @zhuman1993 说:

    rtParty是这

    0_1509011874280_1509011860410.jpg
    应该是你项目的问题 可能人家没有把 项目的文件全部都提交上git



  • @Dzhijian
    那就证明我的项目是有问题的,那我想问问,你了解这些库是在RN项目哪一步用到吗,是在init项目时,还是在npm install时,能加个QQ1153440860,把你的那些库发给我吗



  • 我解决这个问题了,根本就不是问题,我的压缩包都是好的,只要把Xcode关掉重新打开,文件夹就不变红色了,也能成功跑起来了,折腾啊


登录后回复