解决 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 ExistCommand failed: /usr/libexec/PlistBuddy -c Print:CFBundleIdentifier build/Build/Products/Debug-iphonesimulator/RNDemo.app/Info.plist
Print: Entry, ":CFBundleIdentifier", Does Not ExistRN 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是这样的
全是红色,且没看到boost那个文件夹,所以不确定自己的项目有没有问题?
请赐教,如果可以,可以截个你的项目里ThirtParty的目录截图给我看看吗?
-
-
@Dzhijian
那就证明我的项目是有问题的,那我想问问,你了解这些库是在RN项目哪一步用到吗,是在init项目时,还是在npm install时,能加个QQ1153440860,把你的那些库发给我吗
-
我解决这个问题了,根本就不是问题,我的压缩包都是好的,只要把Xcode关掉重新打开,文件夹就不变红色了,也能成功跑起来了,折腾啊