[英]Running React Native App on iPhone
我正在嘗試運行使用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地址)之類的綠色條。 如何完全禁用連接? 該連接對於調試非常有用,但是無法向他人展示該應用程序。
按照官方文檔中的建議取消對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;
}
還是我只是在這里想念東西?
版本:
一種可能的解決方案是在Release
模式下運行您的應用,該模式將自動使用編譯后的捆綁包,而不是托管的捆綁包。 在開發模式下,不打包捆綁軟件並將其存儲在設備上,以縮短構建時間。 當您將配置設置為Release
, react-native-xcode.sh
腳本會自動為您運行bundle
命令,並准備資產和Javascript代碼以存儲在設備上。
然后從模式中選擇Edit Scheme
並將Build configuration
從Debug更改為Release。
請注意,您還可以創建一個新方案,以同時具有調試和發布模式。 為此,只需從前面提到的模式中選擇“ New Scheme
”而不是“ Edit Scheme
並相應地應用相同的調整即可。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.