RN项目在真机上运行报错 "No bundle URL present"

经过千辛万苦终于能在模拟器上正确的运行RN的代码
怀着试一试的心态,开始了真机运行
biu ~
讲真,开发RN项目看到红色就头疼
如果项目的主题色也是红色的呢 【哈哈哈】

报错

调试的时候发现是RCTBridgeDelegate中的代理方法找不到jsBundleURL ,下面的方法中返回的是一个nil。

//注意在0.49版本之前是index.ios
- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge {
    return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index"
                                                          fallbackResource:nil];
}

原因是真机运行时找不到RN的代码,即找不到入口,下面是一个可行的解决方法:添加一段可以找到入口的脚本

export NODE_BINARY=node
//下面的是依赖库中脚本的路径,试着一层层找下去看看
../node_modules/react-native/scripts/react-native-xcode.sh

关闭该项目的终端,重新build一下,搞定 !!

添加脚本的位置

推荐阅读更多精彩内容