2016-09-20 42 views
1

Xcodeで基本的なCall Directory Extensionを作成しました。付属のサンプルコードには、電話番号をブロックする方法、または電話番号に関する情報を表示する方法が示されています。ここでは、電話番号22334455をブロックするために必要なコードの最低限は次のとおりです。iOS 10でCallKitを使用して発信者IDを表示する方法(識別情報の追加)

class CallDirectoryHandler: CXCallDirectoryProvider { 

    override func beginRequest(with context: CXCallDirectoryExtensionContext) { 
     context.delegate = self 

     context.addBlockingEntry(withNextSequentialPhoneNumber: 22334455) 
     //context.addIdentificationEntry(withNextSequentialPhoneNumber: 22334455, label: "Telemarketer") 

     context.completeRequest() 
    } 
} 

extension CallDirectoryHandler: CXCallDirectoryExtensionContextDelegate { 
    func requestFailed(for extensionContext: CXCallDirectoryExtensionContext, withError error: Error) { } 
} 

Xcodeでサンプルによると、代わりにaddBlockingEntryの方法addIdentificationEntryを使用して、発信者番号を表示することも簡単でなければなりませんが、私は得ることができませんそれは機能する。

ブロッキングは正常に機能しますが、代わりに発信者番号を表示しようとすると、電話機に電話番号が表示されます。私が追加しようとしているテキスト "Telemarketer"は表示されません。

私には何が欠けていますか?

答えて

0

答えはイライラしていた。

addIdentificationEntry()には国コードが必要ですが、addBlockingEntry()は必要ありません。

電話番号の冒頭に47(ノルウェーの国コード)を追加したところ、それは機能しました。

class CallDirectoryHandler: CXCallDirectoryProvider { 

    override func beginRequest(with context: CXCallDirectoryExtensionContext) { 
    context.delegate = self 

    context.addIdentificationEntry(withNextSequentialPhoneNumber: 4722334455, label: "Telemarketer") 

    context.completeRequest() 
    } 
} 

addBlockingEntry()22334455と入力として4722334455の両方で動作:ここでノルウェーの電話番号22334455(4722334455)の発信者IDを表示するための作業コードです。

+0

既知の数字とラベルをbeginRequestコールに入れる代わりに、現在呼び出している電話番号を取得する方法はありますか? – Steve

+0

私は確信していません、私は自分自身を知りたいです。私の計画は何千もの数字を持つことです。電話が鳴っているときではなく、スケジュールどおりにCallDirectoryに何らかの形でデータを入れることができれば幸いです。 –

+0

ええ私も - 私の計画は約50.000の数字を追加することです - おそらく、私はすべてを追加する前に、dbクエリを追加することができます – Steve

関連する問題