美文网首页Hybrid开发React Native
React Native iOS 真机调试

React Native iOS 真机调试

作者: 壹点微尘 | 来源:发表于2017-07-08 10:29 被阅读1661次

    注意:手机和电脑都必须在同一WIFI环境下,电脑不要连接网线 !

    正确的操作步骤:
    前置动作:1.退出所有的相关的终端,在真机调试之前你可能进行了模拟器的调试
    2.确认手机和电脑是在同一个无线网下面。
    操作步骤:1.查看电脑的局域网地址,在terminal中输入ifconfig | grep 192命令,即可查看

    在terminal中输入`ifconfig | grep 192`命令,即可查看

    2.用Xcode打开项目

    3.打开AppDelegate.m文件,修改jsCodeLocation地址:

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {
      NSURL *jsCodeLocation;
    
    //  jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil];
      jsCodeLocation = [NSURL URLWithString:@"http://169.254.28.38:8081/index.ios.bundle?platform=ios&dev=true"];
      
      RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation
                                                          moduleName:@"DoubanProject"
                                                   initialProperties:nil
                                                       launchOptions:launchOptions];
      rootView.backgroundColor = [[UIColor alloc] initWithRed:1.0f green:1.0f blue:1.0f alpha:1];
    
      self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
      UIViewController *rootViewController = [UIViewController new];
      rootViewController.view = rootView;
      self.window.rootViewController = rootViewController;
      [self.window makeKeyAndVisible];
      return YES;
    }
    

    4.直接cmd + R run起来即可

    碰到的问题主要是:Could not connect to development server


    这个问题理解起来很简单,连不上服务器。这类的访问实际上类似于tomcat访问,只不过这里的服务器是npm。下面讲下我碰到的情况:
    1.mac电脑设置了防火墙
    解决方案,在系统设置里关闭防火墙
    2.node或者npm的版本有问题
    解决方案,全部更新至最新的版本

    我的版本

    3.还有一个就是iOS9的网络访问问题
    其实在Xcode项目的plist文件里已经有App Transport Security Settings,关键是默认的设置是只允许localhost访问,不允许别的访问,那么就得修改下这儿。你可以从别的项目那儿copy这个过来,也可以直接改下如下所示:

    相关文章

      网友评论

        本文标题:React Native iOS 真机调试

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