2017-03-22 80 views
0

我遇到的问题与我的反应原生应用程序的发布iOS版本。react-native iOS发布版本无法启动

使用调试方案时,一切都按预期工作,但尽快将更改为发布方案的只有初始和自动首次启动。如果我关闭并重新打开应用程序,它会立即关闭。

有没有人经历过类似的事情?或者有如何调试这类问题的建议?

任何帮助非常感谢!

编辑:简短的视频显示的行为:https://vid.me/6kkB

AppDeletegate.m

#import "AppDelegate.h" 

#import <React/RCTBundleURLProvider.h> 
#import <React/RCTRootView.h> 
#import <FBSDKCoreKit/FBSDKCoreKit.h> 
@import GooglePlaces; 
@import GoogleMaps; 

@implementation AppDelegate 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    NSURL *jsCodeLocation; 

    [GMSPlacesClient provideAPIKey:@"AIzaSyDHHSswYLWfcoKIjwSWDecBqib6r1fDMsc"]; 
    [GMSServices provideAPIKey:@"AIzaSyDHHSswYLWfcoKIjwSWDecBqib6r1fDMsc"]; 
    [[FBSDKApplicationDelegate sharedInstance] application:application 
          didFinishLaunchingWithOptions:launchOptions]; 

    // Dev 
    jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil]; 

    // Release 
    //jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"]; 

    RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation 
                 moduleName:@"get" 
               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; 
} 

- (BOOL)application:(UIApplication *)application 
      openURL:(NSURL *)url 
      options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options { 

    BOOL handled = [[FBSDKApplicationDelegate sharedInstance] application:application 
    openURL:url 
    sourceApplication:options[UIApplicationOpenURLOptionsSourceApplicationKey] 
    annotation:options[UIApplicationOpenURLOptionsAnnotationKey] 
    ]; 
    // Add any custom logic here. 
    return handled; 
} 



@end 
+0

您是指第一次应用程序工作正常吗?如果没有看到是否将应用程序构建为捆绑包,而不是从Appdelegate.m中的本地主机获取js – Hariks

+0

是的。该应用第一次正确运行。但是,我注意到使用'react-native run-iso'运行应用程序会在首次启动时立即崩溃。只有在xCode中使用“构建并运行”才能让我完美地运行应用程序_the_first_time。 –

+0

那么在调试模式下构建应用程序,并检查它是否在控制台(chrome调试或xcode)中抛出任何错误(即使它没有崩溃) – Hariks

回答

0

东西给我,当我遇到问题的作品,很简单:

  • 清洁工程
  • 关闭项目,退出xCode
  • 重新启动xCode,内部版本号&运行

并密切关注包装终端..有时它会挂起甚至无法启动。然后可以通过使用手动启动npm start

+0

非常感谢为您的建议。不幸的是,它在这种情况下没有帮助。 –