Linphone сохранить руководство смс - PullRequest
0 голосов
/ 21 февраля 2019

В нашем приложении для iOS нам нужно загрузить чаты Linphone с смс с сервера, используя запрос.Для этого мы добавляем изменения в iOS-Linphone-библиотеку, но у нас возникла проблема с дублированием chatRooms.

Шаги:

  1. после запуска приложения мы отправляем запрос на сервер, который проверяет новыесообщения
  2. мы скачали и проанализировали эти сообщения.Для добавления нового LinphoneChatMessage в конкретный LinphoneChatRoom мы ищем в существующем LinphoneChatRooms по имени (получаем имя LinphoneChatRoom по linphone_address_get_username ())

метод:

  • (NSInteger) findIndexByAddressName: (NSString *) userName {NSInteger index = NSNotFound;NSInteger count = [self dataSortCount];for (int i = 0; i

    1. если мы найдем необходимый LinphoneChatRoom, мы добавили туда LinphoneChatMessage, если нет - создадим новый LinphoneChatRoom, используя метод:
  • (void) addChatRooms:(NSArray *) комнаты {для (NSString * адрес в комнатах) {NSInteger index = [self findIndexByAddressName: address];if (index == NSNotFound) {[self addRoom: address];[self loadData];[NSNotificationCenter.defaultCenter postNotificationName: объект kChatUpdate: nil userInfo: {«Индекс»: [NSNumber numberWithInt: 0]}];}}}

Проблема заключается в создании нового дублированного LinphoneChatRoom, хотя LinphoneChatRoom с таким именем уже существует.

Мы думаем, что проблема заключается в том, что iOS-Linphone-библиотека запускается асинхронно, и когда мы ищем комнаты, чаты Linphone еще не были загружены, и поэтому мы не можем найти существующие комнаты.Существуют ли способы загрузки чатов вручную и получения уведомления о том, что чаты были полностью загружены?Или проблема в функциях iOS-Linphone-библиотеки?

...