Невозможно получить время выполнения JSI в RACE Native IOS BridgeIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Невозможно получить время выполнения JSI в RACE Native IOS Bridge

Сообщение Anonymous »

Описание задачи
Я пытаюсь реализовать мост JSI в моем приложении для iOS нативного iOS, но я не могу получить объект выполнения из RCTCXXBRIDGE после RCTJavascriptDiddultailnotification CODE (It PRIESTS AS). />jsibridge.h

Код: Выделить всё

#import 
#import 

NS_ASSUME_NONNULL_BEGIN

@interface JSIBridge : NSObject

+ (void)setupBridge:(NSNotification *)notification bridge:(nullable RCTBridge *)bridge;

@end

NS_ASSUME_NONNULL_END
jsibridge.mm

Код: Выделить всё

#import "JSIBridge.h"
#include 
#import 

using namespace facebook::jsi;
using namespace std;

@implementation JSIBridge

+ (void)setupBridge:(NSNotification *)notification bridge:(RCTBridge *)bridge {
RCTCxxBridge* cxxbridge = (RCTCxxBridge*)notification.userInfo[@"bridge"];
NSLog(@"[JSIBridge]: %@", cxxbridge.runtime);
}

@end
Aappdelegate.swift>

Код: Выделить всё

@main
class AppDelegate: UIResponder, UIApplicationDelegate {

var window: UIWindow?

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
ReactNativeFactoryManager.shared.setupBridge(launchOptions: launchOptions)

NotificationCenter.default.addObserver(self,
selector: #selector(onJSLoad(notification:)),
name: NSNotification.Name("RCTJavaScriptDidLoadNotification"),
object: nil)

return true
}

@objc func onJSLoad(notification: Notification) {
JSIBridge.setupBridge(notification, bridge: ReactNativeFactoryManager.shared.getFactory().bridge)
}

// Other code...
}
reactnativefactorymanager.swift>

Код: Выделить всё

import React
import React_RCTAppDelegate

@objc class ReactNativeFactoryManager: NSObject {
// Singleton instance
@objc static let shared = ReactNativeFactoryManager()

private let reactNativeFactory: RCTReactNativeFactory
private let delegate: ReactNativeDelegate

// Private initializer to ensure singleton usage
private override init() {
delegate = ReactNativeDelegate()
reactNativeFactory = RCTReactNativeFactory(delegate: delegate)
super.init()
}

@objc func getFactory() -> RCTReactNativeFactory {
return reactNativeFactory
}

func setupBridge(launchOptions: [UIApplication.LaunchOptionsKey: Any]?) {
reactNativeFactory.bridge = delegate.createBridge(with: delegate, launchOptions: launchOptions ?? [:])
}
}
< /code>
[b] Что я попробовал < /strong> < /p>
[list]
[*] Я подтвердил, что ⁠RCTJavaScriptDidLoadNotification
уведомление запускается правильно.
[*] Я могу получить ⁠

Код: Выделить всё

RCTCxxBridge
объект, но его время выполнения ⁠property - это Nil
[*] Я пытался получить объект моста оба из ⁠

Код: Выделить всё

notification.userInfo[@"bridge"]
и ⁠

Код: Выделить всё

ReactNativeFactoryManager.shared.getFactory().bridge
[/list]
среда [/b]

[*] React Нативная версия: 0,78
[*] Версия IOS: 18,2
[*] xcode version: 16.3
[*]
xcode: 16.3
[*]
< /ul>
Вопросы < /strong> < /p>
  • Почему я не могу получить ⁠ ⁠ объект?
  • Должен ⁠ быть инициализированным к тому времени, когда ⁠

    Код: Выделить всё

    RCTJavaScriptDidLoadNotification
    запускается?
  • Есть ли другой способ или время, чтобы правильно получить JSI ⁠?
Я подозреваю, что могут произойти изменения в том, как мост JSI инициализируется или доступна в RACE Native 0.78. Если кто -то столкнулся с аналогичными проблемами или знает правильный способ получить доступ к времени выполнения JSI в последних нативных версиях React, я бы очень признателен за вашу помощь.
Спасибо за помощь или предложения! < /P>

Подробнее здесь: https://stackoverflow.com/questions/795 ... ios-bridge
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «IOS»