Проект React-native не работает на устройстве iOS (версия 0.39.0)

Я работаю над реактивным приложением. Ранее мое приложение имело версию 0.25.0, но теперь я обновил нативную версию своего приложения.

Теперь мое приложение не работает на устройстве iOS. Он показывает, что «bundleURL должен быть ненулевым, если не реализован loadSourceForBridge».

Мой файл AppDelegate.m выглядит так:

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
  NSURL *jsCodeLocation;
  jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil];
  NSLog(@"JSCodelocationh=%@",jsCodeLocation);
  RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation
                                                      moduleName:@"Roger"
                                               initialProperties:nil
                                                   launchOptions:launchOptions];
  rootView.backgroundColor = [[UIColor alloc] initWithRed:1.0f green:1.0f blue:1.0f alpha:1];

  [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
  self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
  UIViewController *rootViewController = [UIViewController new];
  rootViewController.view = rootView;
  self.window.rootViewController = rootViewController;
  [self.window makeKeyAndVisible];
  return YES;
}

В этом моем jsCodeLocation возвращает нулевое значение. Может ли кто-нибудь сказать мне, как это решить.


person krishna swaroopa I    schedule 14.12.2016    source источник
comment
Когда вы обновляли свой проект, вы также обновляли файлы проекта с помощью react-native update?   -  person martinarroyo    schedule 14.12.2016
comment
да, я следовал процедуре, указанной в документации по реакции, и использовал react-native upgrade   -  person krishna swaroopa I    schedule 14.12.2016


Ответы (3)


Для некоторых обновлений нативной версии React требуются ручные действия. Читать официальную документацию и проверьте с помощью rn-diff.

person lwinkyawmyat    schedule 15.12.2016
comment
Да, я проверил, но в этом я все изменил, но все равно получаю null в jscodelocation. - person krishna swaroopa I; 15.12.2016
comment
Tq Я нашел решение, у меня есть некоторые внутренние ошибки, которые я не мог видеть в консоли, поэтому мой main.jsbundle не создается должным образом. После устранения всех ошибок мой main.jsbundle создан правильно и теперь получает jscodelocation. - person krishna swaroopa I; 24.12.2016

У меня была похожая проблема. Добавление -lc++ в Other Linker Flags помогло.

Я также обновил код в AppDelegate, чтобы он не использовал jsBundleURLForBundleRoot (он использовался в примере проекта для реактивной нативной навигации)

Проверьте это: (у npm 3 была такая же проблема) https://github.com/wix/react-native-navigation/issues/1

person Peyotle    schedule 18.12.2016
comment
Tq Я нашел решение, у меня есть некоторые внутренние ошибки, которые я не мог видеть в консоли, поэтому мой main.jsbundle не создается должным образом. После устранения всех ошибок мой main.jsbundle создан правильно и теперь получает jscodelocation. - person krishna swaroopa I; 24.12.2016

Спасибо за помощь в решении моего вопроса. Я нашел решение. У меня есть некоторые внутренние ошибки, которые я не мог видеть в консоли, поэтому мой main.jsbundle не создается должным образом. После устранения всех ошибок мой main.jsbundle создан правильно и теперь получает jscodelocation.

person krishna swaroopa I    schedule 24.12.2016