Я пытаюсь интегрировать нативное приложение React в существующее приложение для iOS. Но я получаю сообщение об ошибке ниже.
Журнал ошибок:
*** Закрытие приложения из-за неперехваченного исключения «NSInvalidArgumentException», причина: «-[RCTCxxBridge devSettings]: отправлен нераспознанный селектор к экземпляру 0x14d3317c0'
*** Стек вызовов первого броска:
(0x18b500f20 0x183386018 0x18b60a480 0x18b49dfb4 0x18b49d8d0 0x11232eaec 0x11232be48 0x111578b98 0x11157a7bc 0x11158ed18 0x11158f4d8 0x1e83578f8 0x1e83540cc)
libc++abi: завершение работы из-за неперехваченного исключения введите NSException
реагировать: 18.3.1
реагировать-родной: 0.74.2
Примеры кодов: https://github.com/duytq94/demo-integra ... ree/master
RNViewManager.swift
import Foundation
import React
class RNViewManager: NSObject {
var bridge: RCTBridge?
static let sharedInstance = RNViewManager()
func createBridgeIfNeeded() -> RCTBridge {
if bridge == nil {
bridge = RCTBridge.init(delegate: self, launchOptions: nil)
}
return bridge!
}
func viewForModule(_ moduleName: String, initialProperties: [String : Any]?) -> RCTRootView {
let viewBridge = createBridgeIfNeeded()
let rootView: RCTRootView = RCTRootView(
bridge: viewBridge,
moduleName: moduleName,
initialProperties: initialProperties)
return rootView
}
}
extension RNViewManager: RCTBridgeDelegate {
func sourceURL(for bridge: RCTBridge!) -> URL! {
#if DEBUG
return URL(string: "http://192.168.1.25:8081/index.bundle?platform=ios")
#else
return Bundle.main.url(forResource: "main", withExtension: "jsbundle")
#endif
}
}
Пример кода нажатия кнопки:
let rootView = RNViewManager.sharedInstance.viewForModule(
"MyReactNativeApp",
initialProperties: ["message_from_native": "messageFromNative"])
let reactNativeVC = UIViewController()
reactNativeVC.view = rootView
reactNativeVC.modalPresentationStyle = .fullScreen
present(reactNativeVC, animated: true)
Подробнее здесь: https://stackoverflow.com/questions/786 ... o-instance
React Native NSInvalidArgumentException нераспознанный селектор, отправленный в экземпляр ⇐ IOS
Программируем под IOS
1719439753
Anonymous
Я пытаюсь интегрировать нативное приложение React в существующее приложение для iOS. Но я получаю сообщение об ошибке ниже.
Журнал ошибок:
*** Закрытие приложения из-за неперехваченного исключения «NSInvalidArgumentException», причина: «-[RCTCxxBridge devSettings]: отправлен нераспознанный селектор к экземпляру 0x14d3317c0'
*** Стек вызовов первого броска:
(0x18b500f20 0x183386018 0x18b60a480 0x18b49dfb4 0x18b49d8d0 0x11232eaec 0x11232be48 0x111578b98 0x11157a7bc 0x11158ed18 0x11158f4d8 0x1e83578f8 0x1e83540cc)
libc++abi: завершение работы из-за неперехваченного исключения введите NSException
[b]реагировать: 18.3.1[/b]
[b]реагировать-родной: 0.74.2[/b]
Примеры кодов: https://github.com/duytq94/demo-integrate-react-native/tree/master
RNViewManager.swift
import Foundation
import React
class RNViewManager: NSObject {
var bridge: RCTBridge?
static let sharedInstance = RNViewManager()
func createBridgeIfNeeded() -> RCTBridge {
if bridge == nil {
bridge = RCTBridge.init(delegate: self, launchOptions: nil)
}
return bridge!
}
func viewForModule(_ moduleName: String, initialProperties: [String : Any]?) -> RCTRootView {
let viewBridge = createBridgeIfNeeded()
let rootView: RCTRootView = RCTRootView(
bridge: viewBridge,
moduleName: moduleName,
initialProperties: initialProperties)
return rootView
}
}
extension RNViewManager: RCTBridgeDelegate {
func sourceURL(for bridge: RCTBridge!) -> URL! {
#if DEBUG
return URL(string: "http://192.168.1.25:8081/index.bundle?platform=ios")
#else
return Bundle.main.url(forResource: "main", withExtension: "jsbundle")
#endif
}
}
Пример кода нажатия кнопки:
let rootView = RNViewManager.sharedInstance.viewForModule(
"MyReactNativeApp",
initialProperties: ["message_from_native": "messageFromNative"])
let reactNativeVC = UIViewController()
reactNativeVC.view = rootView
reactNativeVC.modalPresentationStyle = .fullScreen
present(reactNativeVC, animated: true)
Подробнее здесь: [url]https://stackoverflow.com/questions/78660192/react-native-nsinvalidargumentexception-unrecognized-selector-sent-to-instance[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия