Часто встречается ошибка CXErrorCodeCallDirectoryManagerErrorCurrentlyLoading 7 при вызове CXCallDirectoryManager.reloadExtension - PullRequest
0 голосов
/ 09 мая 2019

Я очень часто получаю код ошибки 7 при вызове reloadExtension в CallDirectory Manager.И спиннер включения расширения всегда будет загружаться ...

Я использую расширение callkit для записи данных в calldirectory.У меня есть 200-500 контактов, которые сохраняются в общей группе приложений, которая используется как хост-приложением, так и расширением.

Хост-приложение будет записывать данные в этот файл.И в beginRequest расширения я добавлю все идентификаторы (пары меток номеров), вызвав context.addIdentificationEntry в цикле for.Я пробовал autoreleasepool и используя диспетчеризацию асинхронно в пакетном режиме, не работает.

У меня есть 3 файла для хранения данных в NSArray, которые будут добавлены или удалены.

1. First one is a file for all contacts, which should be used when the request is not incremental.

2. Second file is the incremental add, which will be used when it is a incremental request.

3. Third file is the records need to be removed.
NSFileManager *fileManager = [NSFileManager defaultManager];
NSURL *containerURL = [[NSFileManager defaultManager] containerURLForSecurityApplicationGroupIdentifier:self.groupIdentifier];
containerURL = [containerURL URLByAppendingPathComponent:@"CallDirectoryData"];
NSString* filePath = containerURL.path;
NSArray *list = [NSArray arrayWithContentsOfFile:filePath]; // list is already sorted.
for(NSDictionary *record in list) {
    [context.addIdentificationEntry [record valueForKey: @"phone"] forLabel: @"label"]
}

Есть ли какие-либо предложения о начальной настройке или дополнительных рекомендациях?Или как сделать время загрузки приемлемым?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...