我正在尝试运行使用react native(v0.3)创建的应用程序,而根本没有连接到我的计算机。我已将应用程序捆绑在一起react-native bundle --dev false --entry-file index.ios.js --bundle-output ios/main.jsbundle --platform ios
并在连接的iPhone上运行(也已Release
在Xcode上更改为)。
即使(在启动后)我禁用了WiFi并从Mac断开了手机的连接,它也能正常工作。但是,如果我完全关闭应用程序并尝试重新启动它(未连接WiFi或USB),则会崩溃(显示应用程序屏幕并在几秒钟后崩溃)...
在启动时,我会看到一个标有“正在连接到192。*”(可能是我的Mac的IP地址)之类的绿色条。如何完全禁用连接?该连接对于调试非常有用,但是无法向他人展示该应用程序。
取消注释官方文档中建议的jsCodeLocation
部分并不是很有帮助,因为不可能生成以下代码:AppDelegate.m
#import "AppDelegate.h"
#import "RCTBundleURLProvider.h"
#import "RCTRootView.h"
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
NSURL *jsCodeLocation;
jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil];
RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation
moduleName:@"weather"
initialProperties:nil
launchOptions:launchOptions];
rootView.backgroundColor = [[UIColor alloc] initWithRed:1.0f green:1.0f blue:1.0f alpha:1];
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
UIViewController *rootViewController = [UIViewController new];
rootViewController.view = rootView;
self.window.rootViewController = rootViewController;
[self.window makeKeyAndVisible];
return YES;
}
还是我只是在这里想念东西?
版本:
一种可能的解决方案是以该Release
模式运行您的应用,该模式将自动使用已编译的捆绑包,而不是托管的捆绑包。在开发模式下,捆绑包不会编译并存储在设备上,从而缩短了构建时间。当您将配置设置为时Release
,react-native-xcode.sh
脚本会自动bundle
为您运行命令,并准备资产以及您要存储在设备上的Javascript代码。
然后从模式中选择Edit Scheme
,然后从“Build configuration
调试”更改为“发行”。
请注意,您还可以创建一个新方案,以同时具有调试和发布模式。为此,只需New Scheme
从前面提到的模式中进行选择,而不是相应地Edit Scheme
应用相同的调整即可。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句