如何使用本地捆绑包而不是开发服务器来运行我的应用程序

时间:2016-10-10 20:18:39

标签: react-native

我试图针对我的本机应用程序运行KIF测试,但它在CI上失败,因为开发服务器没有运行。显然,如果它没有找到正在运行的开发服务器,它应该回到本地捆绑包,但这似乎并没有起作用。

我使用react-native 0.33和xcode 8.0。

1 个答案:

答案 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;
}