2017-02-25 19 views
2

我有一個反應原生應用程序,如果我在iOS模擬器上運行它,它可以連接到正在本地主機上運行的運行打包程序: 8081,但是如果我嘗試在實際的iOS設備上運行應用程序,它會失敗,因爲它無法加載js包,因爲它無法找到包裝程序服務。React Native - 應用程序如何確定打包程序IP地址,未在設備上找到

我的設備和我的開發人員服務器位於同一個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"]; 

我可能需要修改實際設備上運行,上設置任何提示,而無需顯式地修改這個文件。

感謝。

+0

我有同樣的問題。你解決了這個問題嗎? –

+0

你是否設法解決這個問題? – Sidharth

回答

0

我已經設法暫時解決這個問題,將其添加到Info.plist文件中。

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

這適用於測試,但不適合生產 – Sidharth

相關問題