注意:手机和电脑都必须在同一WIFI环境下,电脑不要连接网线 !
正确的操作步骤:
前置动作:1.退出所有的相关的终端,在真机调试之前你可能进行了模拟器的调试
2.确认手机和电脑是在同一个无线网下面。
操作步骤:1.查看电脑的局域网地址,在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这个过来,也可以直接改下如下所示:
网友评论