Как вызвать `beginRequest` расширения каталога вызовов? - PullRequest
2 голосов
/ 13 января 2020

Я должен проверить блокировку вызовов и идентификацию. Поэтому я выполнил следующие действия.

(1) Создайте расширение каталога вызовов в моем проекте из [File]> [New]> [Target].

(2) Добавьте вход в систему Расширение каталога вызовов для проверки.

class CallDirectoryHandler: CXCallDirectoryProvider {
  override func beginRequest(with context: CXCallDirectoryExtensionContext) {
    print("test")
  }
}

(3) Вызовите функцию перезагрузки CallKit для моего проекта.

CXCallDirectoryManager.sharedInstance.reloadExtension(withIdentifier: "EXTENSION_BUNDLE_IDENTIFIER", completionHandler: { (error) in
  if let error = error {
    print(error.localizedDescription)

  } else {
    print("success")
  }
})

(4) Проверьте, включено ли мое приложение в Settings > Phone > Call blocking & identification.

И success из 3 напечатано, но test из 2. не напечатано.

Есть что-нибудь, что я должен проверить?

Заранее спасибо.

1 Ответ

2 голосов
/ 13 января 2020

Я думаю, что он вызывается правильно, так как вы можете проверить ответ в целевой изолированной программной среде приложения.

Единственный способ, которым я знаю, чтобы получить доступ к журналам в этом случае, это ввести Окно «Устройства» Xcode и, глядя на device console, вы должны увидеть журналы, подобные этому:

com.apple.CallKit.CallDirectory: ...

Вы также можете попробовать отладить его, поставив напрямую точка останова в этой строке:

print ("test")

Проверьте также учебные пособия, чтобы узнать, есть ли какие-либо проблемы в настройке между вашим расширением и вашим приложением песочницы, тут есть хорошая: https://pusher.com/tutorials/callkit-ios-part-1

...