2016-11-18 3 views
4

Я пытаюсь интегрировать расширение CallDirectory для блокировки входящего вызова. Но приложение даже не распознает номера, предусмотренные для блокировки. Есть ли кто-нибудь, кто преуспел в этом? Вы можете увидеть формат, который я использовал ..Функция блокировки вызовов в iOS 10

private func addIdentificationPhoneNumbers(to context: CXCallDirectoryExtensionContext) throws { 

      let phoneNumbers: [CXCallDirectoryPhoneNumber] = [ 18775555555, 18885555555,+91949520] 
      let labels = [ "Telemarketer", "Local business","myPhone"] 

      for (phoneNumber, label) in zip(phoneNumbers, labels) { 
       context.addIdentificationEntry(withNextSequentialPhoneNumber: phoneNumber, label: label) 
      } 
     } 

И я передала этот для развития. http://iphoneramble.blogspot.in/2016/07/ios-10-callkit-directory-extension.html

Тестирование устройств & IOS версии - IPhone 5s, IOS 10,1

+0

Пожалуйста, поделитесь некоторым кодом. – Poles

ответ

1

Массив телефонных номеров должен быть отсортирован список Int64 годов. От самого маленького до самого большого. В противном случае список будет отклонен с ошибкой «выходы из строя».

3

Atlast, У меня есть решение для блокировки вызовов. У меня не было способа проверить, работает ли код блокировки вызова или нет. Вот некоторые из вещей, которые я сделал для того, чтобы заставить его работать.

  • Проверьте, если приложение работает в 64 битном IOS устройства (iPhone 5s или больше устройств)
  • Добавление номера в числовом порядке возрастания
  • Добавить код страны в каждый номер
  • A пример кода для добавления мобильных номеров для блокировки приведен ниже ниже

    let phoneNumber: CXCallDirectoryPhoneNumber = CXCallDirectoryPhoneNumber ("+ 9194 ******")! context.addBlockingEntry (withNextSequentialPhoneNumber: PHONENUMBER)

  • Проверьте приложение дал разрешение на черные звонки (Настройки -> телефон -> Блокировка вызова & идентификации -> Проверьте приложение разрешено блокировать звонки)

  • Вы также можете проверить enabledStatus, поставив это ниже кода в ViewController

CXCallDirectoryManager.sharedInstance.get EnabledStatusForExtension (withIdentifier: "bundleIdentifierOfYourExtension", completionHandler: {(статус, ошибка) -> Пустота в , если пусть ошибка = ошибка { печати (error.localizedDescription) } })

  • Также добавьте следующий код ViewController

CXCallDirectoryManager.sharedInstance.reloadExtension (withIdentifier: "bundleIdentifierOfYourExtension", completeHandler: {(ошибка) -> Пустота в если допустимо ошибка = ошибка { печать (ошибка.localizedDescription) } })

Вы найдете эти URL, полезно для развития. http://iphoneramble.blogspot.in/2016/07/ios-10-callkit-directory-extension.html

https://translate.google.com/translate?hl=en&sl=zh-CN&u=http://colin1994.github.io/2016/06/17/Call-Directory-Extension-Study/&prev=search

Пожалуйста, пожалуйста, дайте мне знать, если у вас есть более совершенные методы и исправления. Спасибо и счастливы кодирования.

+0

Численно возрастающий порядок в смысле? –

+0

Расширение телефонной линии не дает идентификатора для номера –

+0

также не блокирует вызов, помогите мне –

Смежные вопросы