Xcode iPad app→Mac appの移植機能Catalystを使ってみた
Xcodeの新機能がCatalyst。iOS(とiPadOS)のアプリケーションをMacへ移植する機能。
自作のアプリに適用してみた。
・良く見るWebサイトのリストを準備しておき、その中から選ぶと遷移するアプリ。
iOS版同様、iOSで時間を設定するとき回転させて選ぶUIPickerViewが出てきた。そこから選ぶとSafariの一番上にあるウィンドウに新にタブが作られ、表示された(MacのSafariの設定による挙動。新しいページを開くとき新しいタブを開くよう設定してある)。
アプリケーションはSafariServicesのに含まれるSFSafariViewControllerを使っている。
・二次アニメーション
画面をタップするとそこへ二次元キャラが手足を振って移動する。
Mac版でも移動するが不思議なことに手足を振らない。
・トランプゲームSeaHaven
Mac版も画面が開きプレイ可能。レイアウトに多少の違和感があるが、これはベゼルが無いからだろう。
初期の頃、ゲーム中にカードの位置がずれる不具合があったが、プレイ中に何故か解消された。
ここまで順調だが移植できないアプリケーションもある。仮想現実のARKitを使ったものは、Macに仮想現実用の傾きセンサーや加速度センサーなどが無いからだろう、移植できない。
移植の方法はプロジェクトを選んでGeneralタブにあるMacチェックボックスにチェックを入れてBuildするだけ。
古いアプリーションだとGeneralタブが出てこないケースがある。「楽々PCライフ」様の『XcodeでGeneralタブが表示されない場合の解決方法について!』(https://azure-nakame.com/?p=689)を参照されたい。
チェックを入れると.entitlementsファイルが作られる。中身は
App SandboxがYES
com.apple.security.network.clientがYES
になっている
使って見た感想。
Generalタブが出てこないのでMac版を作ろうとしたところ、移植トラブルが続発した。楽々PCライフ様のアドバイスに従ったところ、すんなりとiOS版からMac版ができた。感服してしまった。市場規模から見るとMac版にメリットを見出す会社は少ないと思う。だが、簡単に移植ができるので考え直す会社も出るだろう。