官方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