官方React Native文件,以使用脫機捆綁的iOS設備上運行的應用程序的反應原生的iOS設備上的應用說運行使用脫機捆綁
開放IOS/YourApp/AppDelegate.m
取消對線, jsCodeLocation = [[一個NSBundle mainBundle] ...
採用了最新react-native 0.30.0
,這條線是在默認AppDelegate.m
文件不再存在。從默認的摘錄AppDelegate.m
文件
NSURL *jsCodeLocation;
jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil];
RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation
moduleName:@"TestAppDelete"
initialProperties:nil
launchOptions:launchOptions];
如果我嘗試使用jsCodeLocation
因爲它曾經在以前的版本中,它返回爲空
jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
我不知道爲什麼是針對URL main.jsbundle
返回爲null
。它不是由包裝商創建的嗎?如果應該使用最新版本創建,我該如何確認?
如果您使用脫機包在iOS設備上運行了react-native 0.30.0
應用程序,請分享相關說明。謝謝!
非常感謝你的回覆。發佈說明中未提及此更改,因爲我更改了應用中的'AppDelegate'文件,所以我在'react-native'升級之後將其替換了,並且文檔未更新,這些更改讓事情更加混亂。請注意 - 如果我在設備上運行應用程序而不更改「Build Configuration」到「Release」,那麼只要連接到Mac,我就可以運行該應用程序。如果我停止該應用程序,請斷開手機並嘗試再次運行,但不啓動。在這種情況下,將「構建配置」設置爲「發佈」。再次感謝! –
我希望我可以upvote多次:)的答案。我昨天花了太多時間才弄明白。 –
乾杯,男人!難道不是你的回答,我不會知道我自己。 :)我還沒有嘗試過,但看到它的來源。一旦我嘗試一下就會更新。 – nabn