У меня есть проект React Native, который использует response-native-navigation. Я быстро интегрировал этот проект с существующим родным приложением iOS. Как сказано в документации wix, эта строка кода покажет собственное приложение реакции через родное приложение iOS. :
let jsCodeLocation = RCTBundleURLProvider.sharedSettings().jsBundleURL(forBundleRoot: "index", fallbackResource: nil)
RCCManager.sharedIntance().initBridge(withBundleURL: jsCodeLocation)
Проблема в том, что, вызывая эту строку кода, приложение открывает экран запуска, тогда как мне нужно открыть собственное приложение для реагирования, нажав кнопку в собственном приложении и нажав его как viewController, но вызов этой строки кода открывает экран запуска. снова без кнопки возврата, чтобы вернуться в собственное приложение iOS. Кроме того, если я удалю эту строку кода и вместо этого использую приведенный ниже код, я получу сбой. Я также пробовал использовать этот код в качестве упомянутой документации по интеграции response-native, но он не работает с react-native-navigation:
let jsCodeLocation = RCTBundleURLProvider.sharedSettings().jsBundleURL(forBundleRoot: "index", fallbackResource: nil)
let bridge = RCTBridge(bundleURL: jsCodeLocation, moduleProvider: nil, launchOptions: nil)
let rootView = RCTRootView(bridge: bridge, moduleName: "MyHotels", initialProperties: nil)
let rnViewController = UIViewController()
rnViewController.view = rootView
self.navigationController?.pushViewController(rnViewController, animated: true)
Приведенный выше код открывает собственный ответ так, как я хочу, но он выйдет из строя с ошибкой ниже:
Завершение работы приложения из-за неперехваченного исключения «NSInternalInconsistencyException», причина: «Для создания RCTRootView требуется экземпляр моста»
моя версия для реагирования на родную навигацию: "^ 1.1.457"