[イベントレポート] 「iPadをサブディスプレイにする実装に挑戦してみよう」 というセッションを聞いてきました! #iosdc #c

[イベントレポート] 「iPadをサブディスプレイにする実装に挑戦してみよう」 というセッションを聞いてきました! #iosdc #c

はじめに

モバイルアプリケーション開発部の田中孝明です。

9/15 ~ 9/17の期間開催された、iOSエンジニアにとっては文化祭的な大イベントiOSDC 2017に参加してきました。
その中で気になったセッションのレポートを書いていきたいと思います。

セッション概要

普段耳にしないFramework、ライブラリを屈指して元Appleエンジニアが作成したと言われるDuet DisplayのようなiPhone/iPadのサブディスプレイ化アプリの実装とデモをお話しする予定です。非日常なSwiftを体験することができます。

CfPはこちらです。

スライド

セッションの感想

iPadをサブディスプレイにするアプリといえば、Duet Display等を思い浮かべます。
本セッションでは、iPadをサブディスプレイ化するアプリがどのような技術を使って作成されているのかを話していただきました。

Duet Displayは様々なエンジニアの手によってリバースエンジニアリングされました。
調査の結果は、2014-12-18-DuetDisplay.markdownという、Duet Displayがどのようなライブラリを使って作成されているのかがまとめられたmarkdownに記されており、以下のライブラリが利用されていることがわかりました。

元Appleエンジニアだからといって、特別な技術を用いることはなく、CocoaSplitでキャプチャーしたmacOSの画面を通信ライブラリのpeertalkを利用してmacOSとiPad間を独自に定義したプロトコルで通信し、GPUImageで描画する。
以上のシンプルな構成であることを話していただきました。

OpenGLとH264での圧縮を駆使して60FPSを達成したデモを見た瞬間は感動しました。

最後に

控えめに言って最高のセッションでした。
特別な技術を使っていないところを調査するところも然り、それを達成するまでのモチベーションとスキルに関しては、ハッカーとして尊敬します。
石川諒 (@rinov0321) さん、面白い話をありがとうございました!

参考文献