2016-07-29 3 views
2

내 컴퓨터에 전혀 연결하지 않고 반응 네이티브 (v0.3)로 만든 앱을 실행하려고합니다. 나는 react-native bundle --dev false --entry-file index.ios.js --bundle-output ios/main.jsbundle --platform ios과 함께 응용 프로그램을 번들로 묶었고 연결된 iPhone에서 실행되었습니다 (Xcode의 Release로 변경됨).iPhone에서 네이티브 앱 실행하기

(시작 후) WiFi를 해제하고 Mac에서 전화를 끊어도 정상적으로 작동합니다. 하지만 앱을 완전히 닫고 다시 시작하려고하면 (Wi-Fi 또는 USB가 연결되어 있지 않은 경우) 충돌이 발생합니다 (앱 화면이 표시되고 몇 초 후에 충돌이 발생합니다).

시작시에 녹색 막대가 표시됩니다 "Connecting to 1922. *"(필자의 Mac의 IP 주소)와 같은 것입니다. 어떻게하면 연결을 완전히 비활성화 할 수 있습니까? 연결은 디버깅에 매우 유용하지만 앱을 누군가에게 보여줄 수는 없습니다.

#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; 
} 

아니면 그냥 여기서 뭔가를 놓치고 다음 official documentation에서 제안으로이 생성 된 코드를 가진 것은 불가능하기 때문에

매우 도움이되지 AppDelegate.m에서 jsCodeLocation 부분입니다 주석을?

버전 :

  • OSX는 10.11.5
  • 은 엑스 코드 7.3.1
  • 은 가능한 해결책의 3.10.3

답변

4

하나가 될 것이다 기본 0.3

  • NPM에게 반작용 Release 모드로 앱을 실행하면 호스팅 된 앱 대신 자동으로 컴파일 된 번들이 사용됩니다. 개발 모드에서는 빌드 시간을 줄이기 위해 번들이 컴파일되지 않고 장치에 저장됩니다. 구성을 Release으로 설정하면 react-native-xcode.sh 스크립트가 자동으로 bundle 명령을 실행하고 장치에 저장된 자바 스크립트 코드와 자산을 준비합니다.

    하기 때문에, 단순히 프로젝트의 이름을 클릭하려면 (이 경우, 기본의) : enter image description here

    다음 모달에서 Edit Scheme를 선택하고 릴리스 디버그에서 Build configuration을 변경합니다.

    디버그 & 릴리스 모드를 동시에 사용할 수 있도록 새 구성표를 만들 수도 있습니다. 그렇게하려면 Edit Scheme 대신 위에 언급 한 모달에서 New Scheme을 선택하고 이에 따라 동일한 조정을 적용하면됩니다.

  • +0

    대단히 고맙습니다. – Dennis

    관련 문제