Ios 在iPhone上运行React本机应用程序

Ios 在iPhone上运行React本机应用程序,ios,iphone,xcode,npm,react-native,Ios,Iphone,Xcode,Npm,React Native,我正在尝试运行一个使用react native(v0.3)创建的应用程序,但根本没有连接到我的计算机。我已经将应用程序与react原生捆绑包--dev false--entry file index.ios.js--bundle output ios/main.jsbundle--platform ios捆绑在一起,并在我连接的iPhone上运行(在Xcode上也更改为Release) 即使(启动后)我禁用WiFi并断开手机与mac的连接,这也可以正常工作。但是,如果我完全关闭应用程序并再次尝试

我正在尝试运行一个使用react native(v0.3)创建的应用程序,但根本没有连接到我的计算机。我已经将应用程序与
react原生捆绑包--dev false--entry file index.ios.js--bundle output ios/main.jsbundle--platform ios
捆绑在一起,并在我连接的iPhone上运行(在Xcode上也更改为
Release

即使(启动后)我禁用WiFi并断开手机与mac的连接,这也可以正常工作。但是,如果我完全关闭应用程序并再次尝试启动它(没有连接WiFi或USB),它会崩溃(它会显示应用程序屏幕,几秒钟后崩溃)

在启动时,我可以看到一个绿色的条,标记为“连接到192.*”(很可能是我mac的IP地址)。如何完全禁用连接?该连接对于调试非常有用,但不可能向某人显示该应用程序

按照中的建议取消对
AppDelegate.m
中的
jsCodeLocation
部分的注释不是很有帮助,因为不可能生成以下代码:

#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;
}
还是我只是错过了什么

版本:

  • OSX 10.11.5
  • 代码7.3.1
  • 反应本机0.3
  • npm 3.10.3

一个可能的解决方案是在
发行版
模式下运行您的应用程序,该模式将自动使用编译包而不是托管包。在开发模式中,bundle不会编译并存储在设备上,以缩短构建时间。当您将配置设置为
Release
时,
react native xcode.sh
脚本会自动为您运行
bundle
命令,并准备资产和Javascript代码以存储在设备上

为此,只需单击项目名称(在本例中,它是基本名称):

然后从模式中,选择编辑方案,并将构建配置从调试更改为发布

请注意,您还可以创建一个新方案,以使调试和发布模式同时可用。为此,只需从前面提到的模式中选择
newscheme
,而不是
editscheme
,并相应地应用相同的调整