Кто-нибудь знает, что я делаю не так и каково решение?

аюсь добавить функцию блокировки номера телефона в свое приложение, и у меня возникла ошибка, и моя проблема была решена вЭтот вопрос, который я задал. человек, который решил мою проблему там, также указал мне, что я должен использовать групповое приложение, чтобы делиться своими основными данными (я храню номера телефонов здесь) с Справочником вызовов.

код ниже находится в основном приложении (блокировка viewController)

@IBAction func BtnAddA(_ sender: Any) {
    if !(EntPhonenumber.text?.isEmpty)!
    {
        let blackedPhonenumbers_CoreData = BlockedPhoneNumbers(context: PersistanceService.context)
        blackedPhonenumbers_CoreData.phoneNumber = Int64.init(EntPhonenumber.text!)!
        PersistanceService.saveContext()
        getCoreData()
        TableView.reloadData()


        CXCallDirectoryManager.sharedInstance.reloadExtension(withIdentifier: "MY CALL DIRECTORY BUNDLE ID") { (err) in
            if let error = err
            {
                print("we got some error")
                print("@\(error)")

                print("==\(error.localizedDescription)")
            }
            else
            {
                print("good to go")
            }
        }
    }
}

И я имеюИспользовал эту ссылкуподелиться своими основными данными с моей директорией вызовов.

И код ниже показывает обработчик каталога вызовов:

      class CallDirectoryHandler: CXCallDirectoryProvider {

        var listPhoneNumbers:[CXCallDirectoryPhoneNumber] = []
        let context = CoreDataStorage.mainQueueContext()

        func fetchData() {
            self.context.performAndWait{ () -> Void in

                let FetchedData = NSManagedObject.findAllForEntity("BlockedPhoneNumbers", context: self.context)

                if (FetchedData != nil) {
    //                self.fetchData = (FetchedData?.last as! BlockedPhoneNumbers)
                    listPhoneNumbers = FetchedData as! [CXCallDirectoryPhoneNumber]
                }
                else {

                }

            }
        }
override func beginRequest(with context: CXCallDirectoryExtensionContext) {
        context.delegate = self
        // Check whether this is an "incremental" data request. If so, only provide the set of phone number blocking
        // and identification entries which have been added or removed since the last time this extension's data was loaded.
        // But the extension must still be prepared to provide the full set of data at any time, so add all blocking
        // and identification phone numbers if the request is not incremental.
        if context.isIncremental {
            addOrRemoveIncrementalBlockingPhoneNumbers(to: context)
            fetchData()

            addOrRemoveIncrementalIdentificationPhoneNumbers(to: context)
        } else {
            addAllBlockingPhoneNumbers(to: context)
            fetchData()

            addAllIdentificationPhoneNumbers(to: context)
        }



        context.completeRequest()
    }

    private func addAllBlockingPhoneNumbers(to context: CXCallDirectoryExtensionContext) {
        // Retrieve all phone numbers to block from data store. For optimal performance and memory usage when there are many phone numbers,
        // consider only loading a subset of numbers at a given time and using autorelease pool(s) to release objects allocated during each batch of numbers which are loaded.


        let blockedPhoneNumbers: [CXCallDirectoryPhoneNumber] = listPhoneNumbers//[ phone Numbers here with country code! ]
        for phoneNumber in blockedPhoneNumbers.sorted(by: <) {
            context.addBlockingEntry(withNextSequentialPhoneNumber: phoneNumber)
        }

        context.completeRequest()
    }
}

Всякий раз, когда я нажимаю кнопку блокировки VC, я получаю сообщение об ошибке:

@Error Domain = com.apple.CallKit.error.calldirectorymanager Code = 0 "(null)" == Операция не может быть завершена. (com.apple.CallKit.error.calldirectorymanager ошибка 0.)

и иногда :

@Error Domain = NSCocoaErrorDomain Code = 4097 "подключение к службе с именем ARWD.whoIsThis.Call-Directory.apple-extension-service" UserInfo = {NSDebugDescription = подключение к службе с именем ARWD.whoIsThis.Call-Directory.apple-extension-service} == Не удалось связаться с вспомогательным приложением.

Кто-нибудь знает, что я делаю не так и каково решение?

Ответы на вопрос(0)

Ваш ответ на вопрос