Событие sendDeviceEventWIthName не отправляет

#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 для маршрутизации событий.