[英]React-Native iOS app - running on device…error message: No bundle URL present
我構建了一個在iOS Simulator上運行良好的應用程序。 但是,當我嘗試在iOS設備上構建它時,構建和安裝成功,但是在打開時,出現以下消息:
沒有捆綁包網址。
確保您正在運行打包程序服務器,或者已在應用程序捆綁包中包含.jsbundle文件。
RCTFatal
__28- [RCTCxxBridge handleError:] _ block_invoke
我現在嘗試在三台設備上使用,因此設備沒有問題。 到目前為止,我已經:1)刪除了iOS構建文件夾並重新構建了2)安裝了npm 3)清除了xCode數據4)重新啟動了每個進程幾次
我注意到的一件事是,React Packager不會像在我運行Simulator時那樣在構建末尾捆綁index.js。 這可能是問題的核心,但是我不確定如何解決它。
我還讀過,使用React-Native-Router-Flux(我這樣做)可能會對這個過程產生一些影響,但也不確定會發生什么相關的修復。
謝謝!
通過將以下代碼包含在已從生產版本中刪除的Info.plist文件中,可以解決此問題。
<key>NSExceptionDomains</key>
<dict>
<key>localhost</key>
<dict>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
</dict>
</dict>
查看此處的解決方案之一是否有效。 您可能已經刪除了build文件夾並進行了重建,但是這些答案似乎表明在刪除和重建之前殺死所有React-Native會話可能有效。
https://github.com/facebook/react-native/issues/12754
https://www.google.com/search?client=safari&rls=en&q=No+bundle+URL+present.&ie=UTF-8&oe=UTF-8
它有助於包含對您已經嘗試過但不起作用的StackOverflow文章/問題線程的引用。
在Appdelegate.m中注釋此行
jsCodeLocation = [[RCTBundleURLProvider sharedSettings]jsBundleURLForBundleRoot:@"index" fallbackResource:nil];
使用此行
jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
然后運行一個命令來制作一個jsbundle:-
react-native bundle --entry-file index.js --platform ios --dev false --bundle-output ios/main.jsbundle --assets-dest ios
希望對您有幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.