首先,先来说一些题外话,我是做iOS出道编程界,今年由于公司工作要求转做ReactNative开发,小白一枚,好了,回到ReactNative的学习上来,期间遇到了很多坑,尝试过各种解决办法,百度、Google、Stack Overflow啥的能搜索的都搜索了,我发现一个问题:有的问题能搜索到解决办法,但是下次再遇到相同的问题说不定这个办法就不行了,又要去搜索其他的解决办法,很麻烦。简书上有很多ReactNative的大神分享的一些技术文章,上面也会有ReactNative学习交流群,如果有的问题找不到办法,大家可以去加群求教。。。还有很多问题找不到解决办法,我想可能并不是个例,而是因为ReactNative的分享者太少,所以我打算把我目前遇到的常见问题稍微再总结一下,供大家可以参考。。。可能我每次只会分享一到两个问题,不是很多但是尽量全面,当然也许还有一些是我没总结到的,欢迎大家留言或者私信我。。。
今天我打算总结的是我也可能是很多小伙伴刚进入ReactNative的时候遇到的问题,下载了一份ReactNative的项目,运行run-ios报Entry, ":CFBundleIdentifier", Does Not Exist的错误,而自己init项目的时候是没问题的。
原因其实很简单:ReactNative0.45以上的版本需要下载四个对应版本的第三方编译库
解决办法:网上很多办法是把package.json文件里的"react":"16.0.0-alpha.12","react-native":"0.46.1",降低版本到"react":"16.0.0-alpha.6","react-native":"0.44.3",如果是个人创建的新项目大部分时候确实可以解决这个问题,但是有时候我们是下载公司的已配置好的项目进行开发,自己在本地还要改package.json里的配置感觉不太好,所以就我目前知道的根本方法是替换~/.rncache下的四个文件,如果没有就创建一个.rncache文件夹,然后把一下四个文件copy进去
注意:.rncache这个文件夹是隐藏文件,所以要先设置显示所有隐藏文件再copy
这四个文件哪里来的?https://github.com/facebook/react-native/blob/master/scripts/ios-install-third-party.sh打开这个网页,点击branch选择与自己的package.json里react-native对应的版本号,最下方有对应四个文件的下载URL,下载下来再替换到~/.rncache下就OK了,貌似0.45以上的版本依赖包都是一样的