我试图针对我的本机应用程序运行KIF测试,但它在CI上失败,因为开发服务器没有运行。显然,如果它没有找到正在运行的开发服务器,它应该回到本地捆绑包,但这似乎并没有起作用。
我使用react-native 0.33和xcode 8.0。
答案 0 :(得分:0)
首先,使用" react-native bundle"制作一个包。命令。现在,你得到一个main.jsbundle。
然后,将main.jsbundle放入xcode项目中,像资源一样添加。
最后,请确保使用RCTBridge初始化RCTRootView,实现委托" sourceUrlForBridge"。
- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge
{
// NSString *jsBundlePath = @"http://localhost:8081/index.ios.bundle?platform=ios&dev=true";
// NSURL *jsBundleURL = [NSURL URLWithString:jsBundlePath];
NSString *path = [[NSBundle mainBundle] pathForResource:@"main" ofType:@"jsbundle"];
NSURL *jsBundleURL = [NSURL URLWithString:path];
return jsBundleURL;
}