[iOS 10] CallKit.frameworkのサンプル「Speakerbox」を試してみる

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Enhancing VoIP Apps with CallKit

こんにちは!
モバイルアプリサービス部の田中孝明です。

iOS 10よりVoIPアプリを拡張するCallKit.frameworkが追加されました。
WWDC 2016のセッションEnhancing VoIP Apps with CallKitでも語られています通り、iPhone UIの提供や着信ブロックリストの作成など、電話アプリに近い体験を提供できるようになりました。
スクリーンショット 2016-09-16 9.52.43

Speakerbox: Using CallKit to create a VoIP app

VoIPアプリの参考としてSpeakerbox: Using CallKit to create a VoIP appというサンプルをAppleが提供しています。

以下の機能に関して実装方法を確認することができます。

- ProviderDelegateを使用した着信の応答
- CXCallUpdateを使用して発信しているときにシステムに通知
- INStartAudioCallIntentによって発信通話を開始

動作確認

Speakerbox: Using CallKit to create a VoIP appをXcodeでビルドします。

2016/08/03に一度サンプルが公開されていましたが、2016/09/13に修正版がリリースされています。
こちらをビルドしてiPhone実機にて動作確認してみます。

Simulate Incoming Call...をタップし、電話番号を入力してみます。
今回は自分自身の電話番号を指定しました。

Screen_Shot_2016-09-16_at_9_44_57

しばらくすると、Speakerboxアプリからの着信を確認することができます。

Screen Shot 2016-09-16 at 9.44.35

まとめ

iOS 10になって、メッセージや電話、Siriなどの機能が大体的に開発者に解放されました。
VoIPアプリを作るシーンは限られていると思いますが、要素技術として追っていくのも面白いと思います。
調査結果に関しては追って記事にまとめていきたいと思います。

参考文献

Enhancing VoIP Apps with CallKit Speakerbox: Using CallKit to create a VoIP app What's New in iOS