我有一个react原生应用程序,如果我在iOS模拟器上运行它,它可以工作,并且可以连接到运行在本地主机: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"];
有关在实际设备上运行时可能需要修改的设置的任何提示,而不必显式修改此文件。
谢谢。
发布于 2017-12-05 13:07:46
通过将此代码添加到Info.plist文件中,我已经设法临时修复了这个问题。
<key>NSAllowsArbitraryLoads</key>
<true/>
<key>NSAllowsArbitraryLoadsInWebContent</key>
<true/>
<key>NSAllowsLocalNetworking</key>
<true/>
https://stackoverflow.com/questions/42461076
复制相似问题