美文网首页
RN项目在真机上运行报错 "No bundle URL pres

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

作者: 芸芸众生_f505 | 来源:发表于2020-09-02 10:24 被阅读0次

    最近开发的一个RN项目(项目使用了codePush热更新)在Xcode运行时报No bundle URL present,但是debug模式下时是正常的,切换到release模式时就报No bundle URL present,网上查找如下方法(但是不适用于我的情况,哭辽。。。)

    1. 出错之后npm install ,重新react-native run-ios

    不行

    2. 删除ios目录下的build,重新react-native run-ios

    还是不行;

    3. host配置127.0.0.1

    看了下我的127.0.0.1还是在host里面的。。。

    4. 把代理的shadowwocks的网络代理,从全局代理变成自动代理

    我特么根本没装shadowwock。。。

    5. 之前在运行另一个项目,需要关掉模拟器再试

    我电脑都重启了,更别说模拟器了。。。

    以上几个方法来自文章https://www.jianshu.com/p/deb5df24a498


    刚接触RN项目不久,一脸懵x真是头疼。最后看到一篇文章提供了一个方法,文中博主的言论给了我一点提示,文章提到说“发现是RCTBridgeDelegate中的代理方法找不到jsBundleURL ,下面的方法中返回的是一个nil。原因是真机运行时找不到RN的代码,即找不到入口”,找啊找啊,终于在AppDelegate文件中看到这句

    @implementation AppDelegate

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

    {

      NSURL*jsCodeLocation;

      #ifdef DEBUG

        jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index"fallbackResource:nil];

      #else

        undefined

      #endif

    .....

    以上可以看出在debug模式下是有入口的,但是release模式时就是undefined了,于是乎我就抱着试一试的心态把undefined替换成了debug模式下的入口脚本,即

    @implementation AppDelegate

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

    {

      NSURL*jsCodeLocation;

      #ifdef DEBUG

        jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index"fallbackResource:nil];

      #else

        jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index" fallbackResource:nil];

        //jsCodeLocation =[CodePush bundleURL]; //使用codepush热更新机制且配置都正确的情况下,//若出现IOS更新版本后重启应用莫名其妙回滚上一个版本可以换成这句 试一试

        //undefined

      #endif

    然后就这样成功运行起来了,哈哈哈


    好记性不如烂笔头,以防以后遇到这类问题时又到处碰壁,特发表此文章以记录小菜鸟的心路历程。。。

    第一次写文章,如有不当之处请大佬们赐教

    相关文章

      网友评论

          本文标题:RN项目在真机上运行报错 "No bundle URL pres

          本文链接:https://www.haomeiwen.com/subject/elehvftx.html