iOS9のアップデート
【iOS9】API Diffs から見る iOS 9 の新機能 #wwdcのまとめが
非常に分かりやすくまとまっていたのでオススメです。
んで、今回はこの記事の中でとりわけ目に留まったPiPを触ってみようと思いました。
PiPとは?
Picture in Pictureの略で、
Youtubeのアプリには以前(2013年夏頃)からついていた機能です。
以下の画像のように、動画を小窓として右下に置いておけるやつですね。
主にアプリ内での動画の再生に使われるAVKit Frameworkに新たに追加されたAVPictureInPictureControllerを使用することによってこれと同様のことができるようになります。2年も経ってなぜAppleがこのController Classを出してきたのかイマイチ理解が及んでいないのですが、iPadでのマルチスクリーンが導入されることなども踏まえると、恐らくAppleとしてタブレット(iPad系)の利用でのUI/UX改善に力を入れている上での1アップデートだと思われます。Watchも並行して動いてますし、iPhoneはもう十分やることやったよ・・・って感じでしょうか?
実際にPiPを見てみる
Apple Developer Libraryにサンプルコードが出ているのでDLしてビルドしてみましょう。(Xcode7が必要です。)
クラス構成はこんな感じです。
Controllerクラスにちょこっとロジックが書かれている感じですね。
AVPictureInPictureControllerがどうやって使っているかは時間があるときに覗いてみます。
(とりあえず今はビルドしてみたい・・・!)
開いてみると再生バーの下に"PiP"というボタンがくっついてきます。
これを押してあげるとYoutubeのアプリでみた"アレ"が再現できちゃうわけです。
こんな感じです。ちなみにこれ、ドラッグしていろんな場所に小窓を固定できます。
ここはYoutubeのアプリと異なるところですね。
既にHackされている。。。
このPiP、現在の公式の仕様ではAppleの公式ビデオ系アプリかSafariでのビデオ閲覧でしか使えないのですが、
アメリカのAdam氏が、"この機能クソつまんね"とどのアプリでもこのPiPが使えるようにHackしたそうです(脱獄不要)。