[iOS 10] ReplayKitについて

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

ReplayKit

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

ReplayKit自体はiOS 9から提供されており、iPhoneの画面録画を行うことができるため、ゲーム画面の録画機能として利用されてきました。

iOS 10では以下の機能が追加されました。

- Apple TV support
- Live broadcasting
- Expanded commentary options

この中にあるLive broadcastingは3rd partyの配信サービスを利用してライブストリーミング配信を行える機能です。

セッション資料ではmobcrushを用いたサンプルを提供されていました。 スクリーンショット 2016-09-04 20.44.51

実装

ReplayKitをインポートします。

import ReplayKit


ライブストリーミング配信を開始したいシーンでRPBroadcastActivityViewControllerload(handler: @escaping (RPBroadcastActivityViewController?, Error?) -> Swift.Void)をコールします。
handler内の処理でself.present(broadcastAVC, animated: true)をコールします。

RPBroadcastActivityViewController.load { broadcastAVC, error in
    if let broadcastAVC = broadcastAVC {
        broadcastAVC.delegate = self
        self.present(broadcastAVC, animated: true)
    }
}


3rd partyの配信サービスに対応したアプリが端末にインストールされていればRPBroadcastActivityViewControllerによってストリーミング配信のできるアプリの選択が可能になります。
スクリーンショット 2016-09-04 20.44.24

しかし記事を執筆した9月14日時点でも対応したアプリがありません。
mobcrushをブロードキャストできる状態にしても、RPBroadcastActivityViewControllerがnilで返ってくるため、アクティビティが開かない現象になっています。

まとめ

ライブストリーミング配信に対応したアプリが無いためか、機能を試すことができませんでしたが、今後対応された際にはもう一度試してみたいと思います!

参考文献

Go Live with ReplayKit
RPBroadcastActivityViewController