React Native - 应用程序如何确定在设备上找不到的打包器IP地址

时间:2017-02-25 20:11:47

标签: react-native

我有一个本机应用程序,如果我在iOS模拟器上运行它可以运行并且可以连接到在localhost:8081上运行的正在运行的打包程序,但是如果我尝试在实际的iOS设备上运行该应用程序,它失败是因为它无法加载js包,因为它无法找到打包服务。

我的设备和我的开发服务器位于同一个WIFI网络上,应用程序如何确定pacakger服务的位置?如果我修改AppDelegate.m文件并替换:

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

//with an explicit IP address, then the app works:

jsCodeLocation = [NSURL URLWithString:@"http://192.168.0.9:8081/index.ios.bundle?platform=ios&dev=true"];

有关设置的任何提示我可能需要修改才能在实际设备上运行,而无需显式修改此文件。

感谢。

1 个答案:

答案 0 :(得分:0)

我已成功通过将此问题添加到Info.plist文件来暂时解决此问题。

<key>NSAllowsArbitraryLoads</key>
<true/>
<key>NSAllowsArbitraryLoadsInWebContent</key>
<true/>
<key>NSAllowsLocalNetworking</key>
<true/>