0

Xamarin ガイドに従って、Call Directory Extension を作成することで、電話番号をブロックしたり、発信者 ID を表示したりできる iPhone アプリを作成しています。

https://developer.xamarin.com/guides/ios/platform_features/introduction-to-ios10/callkit/#Implementing-a-Call-Directory-Extension

Xamarin のドキュメントのコードは完全には更新されていませんが、OS X 用の Xamarin Studio で Call Directory Extension を作成するだけで、いくつかのサンプル コードを取得して作業を開始できます。

以下は、電話番号 22334455 をブロックする最も簡単なコードです。

[Register("CallDirectoryHandler")]
public class CallDirectoryHandler : CXCallDirectoryProvider, ICXCallDirectoryExtensionContextDelegate
{
    protected CallDirectoryHandler(IntPtr handle) : base(handle) { }

    public override void BeginRequestWithExtensionContext(NSExtensionContext context)
    {
        var cxContext = (CXCallDirectoryExtensionContext)context;
        cxContext.Delegate = this;

        cxContext.AddBlockingEntry(22334455);
        //cxContext.AddIdentificationEntry(22334455, "Telemarketer");

        cxContext.CompleteRequest(null);
    }

    public void RequestFailed(CXCallDirectoryExtensionContext extensionContext, NSError error) { }
}

サンプル コードから、同じ番号の発信者 ID を表示するのと同じくらい簡単なように思えます。AddBlockingEntry の代わりに AddIdentificationEntry メソッドを使用するだけですが、うまくいきません。

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

4

1 に答える 1