#javascript #ios #objective-c #reactjs #react-native
#javascript #iOS #objective-c #reactjs #react-native
Вопрос:
Я пытаюсь отправить событие через react native bridge с помощью sendDeviceEventWithName
.
Я создал класс, в котором есть только три метода: basic init, вызываемый метод react, sendDeviceNotification
который отправляет событие устройства и sendNotification
, который печатает тестовую строку и затем вызывает sendDeviceEventWithName
.
Если я вызываю метод react, JS получает событие без проблем. Однако, если я вызываю собственный метод, JS не может получить событие.
Я инициализирую объект класса в AppDelegate.m:
self.km = [[KitManager alloc] init];
Затем, когда я получаю push-уведомление, я вызываю метод
[self.km sendNotification];
которое имеет тело
NSLog(@"Notification sent");
[self.bridge.eventDispatcher sendDeviceEventWithName:@"testEventSent" body:@{@"SOURCE": @"XC"}];
}
Я вижу журнал xcode, который напечатал NSLog, но я не получаю событие.
Есть идеи, почему или как я должен правильно настраивать события устройства?
Ответ №1:
Мне пришлось создать подкласс RCTEventEmitter, а затем использовать NSNotificationCenter для маршрутизации событий.