2016-11-18 108 views
4

我正在嘗試整合CallDirectory Extension來阻止某些來電。但是應用程序甚至沒有意識到爲阻止提供的數字。有沒有人成功做到這一點? 你可以看到,我已經使用的格式..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或更高版本的設備)
  • 在數字升序
  • 國家代碼添加到每個數字
  • 一個添加號碼用於添加用於阻止的移動號碼的示例代碼在下面給出

    let phoneNumber:CXCallDirectoryPhoneNumber = CXCallDirectoryPhoneNumber(「+ 9194 ******」)! context.addBlockingEntry(withNextSequentialPhoneNumber:phoneNumber的)

  • 檢查您的申請已獲准黑調用 (設置 - >電話 - >呼叫阻止&識別 - >檢查您的應用程序允許阻止呼叫)

  • 您還可以通過把這個下面的代碼在你的viewController檢查enabledStatus

CXCallDirectoryManager.sharedInstance.get EnabledStatusForExtension(withIdentifier: 「bundleIdentifierOfYourExtension」,completionHandler: {(狀態,錯誤) - >空隙中 如果讓誤差= {錯誤打印 (error.localizedDescription) } })

  • 另外,以下代碼添加到的viewController

CXCallDirectoryManager.sharedInstance.reloadExtension(withIdentifier: 「bundleIdentifierOfYourExtension」,completionHandler:{(error) - >如果發生error = error { print(錯誤),則在 中失效。localizedDescription) }} )

你會發現這些網址的發展很有幫助。 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

也不會阻止呼叫幫助我 –