Ios 在iPhone上运行React本机应用程序
我正在尝试运行一个使用react native(v0.3)创建的应用程序,但根本没有连接到我的计算机。我已经将应用程序与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原生捆绑包--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
,并相应地应用相同的调整