BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース iOSアプリをmacOSで動作可能にする Project Catalyst

iOSアプリをmacOSで動作可能にする Project Catalyst

ブックマーク

原文(投稿日:2019/07/04)へのリンク

Appleは先日のWWDCの中で、Project Catalystを発表した。Marzipanとも呼ばれるCatalystは、iOSアプリをmacOS用にリリース可能にするために設計されたもので、macOS Cataniaの次のメジャーリリースから提供される予定である。

Appleは昨年から、Voice Catalyst、Apple News、Stocks、HomeなどといったiOSアプリを、Catalystプロジェクトを使用してmacOSに移植する作業に着手している。現時点でScreen TimeがmacOSで動作するようになった他、iOS 13の新機能の一部(新しいリマインダーアプリ、フォトギャラリー、Notes用のフォルダなど)も移植されている。

Twitter、Gameloft、Atlassian、DCなど他の企業も、自社のアプリをmacOSで動作可能にすると発表している。

(画像はblog.twitter.comより)

Project Catalystを使用すれば、iPadアプリを簡単にmacOSに移植することができる。macOSバージョンのiPadアプリは、ウィンドウのサイズ変更と全画面表示、トラックパッド、マウス、およびキーボード入力、コピー/ペースト、とドラッグ・アンド・ドロップ、タッチバーコントロール、デフォルトメニューバー、Macスタイルのスクロールバーなどをデフォルトでサポートする。さらには、開発者が少しの手間を掛けることで、メニューバーコントロール、ツールバーショートカット、半透明のサイドバーなどを使用して、アプリをmacOSにより適合させることもできる。

iPadアプリをmacOSに移植するには、まず最初に、XCode 11ベータ版をインストールした上でXcodeプロジェクトを開き、対象とするiOSターゲットを選択する必要がある。次に、[全般]タブから [展開情報]に移動し、MacデバイスのチェックボックスをONにする(アプリがiPhoneのみをサポートしている場合には、このチェックボックスは使用できない)。

サポート対象デバイスとしてMacを選択すると、Xcodeはプロジェクトを次のように変更する。

  • Macバージョンのアプリ用のバンドル識別子を追加
  • App Sandbox Entitlement(アプリがアクセス制御テクノロジーを使用できるかどうかを示すブール値)をプロジェクトに追加
  • Xcodeからアプリを実行する時、選択可能なデスティネーションのリストに"My Mac"を追加
  • 互換性のないフレームワーク、アプリ拡張機能、その他の埋め込みコンテンツを除外

互換性のないフレームワークや埋め込みコンテンツは、可能な限りXcodeが除外してくれるが、一部のコンテンツについては、開発者が手動で除外しなければならない場合もある。この作業を行うには、まずiOSターゲットの[全般]タブから、 [フレームワーク]、[ライブラリ]、[埋め込みコンテンツ]に移動した上で、アイテムのプラットフォーム設定としてiOSを選択する。この設定を行うと、そのアイテムはアプリのMacバージョンから除外されるようになる。

Macでは使用できないフレームワークやAPIが原因でコンパイルできないコードを含むプロジェクトの場合は、その部分を以下のように囲めばよい。

#if !targetEnvironment(UIKitForMac)
// Code to exclude from Mac.
#endif

同じアプローチを使って、macOSでのみ使用可能なフレームワークを含めることもできる。

#if targetEnvironment(UIKitForMac)
// Code to execute only on Mac.
#endif

iPadアプリの大部分がmacOS用の優れた候補となる一方で、ジャイロスコープや加速度計、リアカメラ、HealthKitやARKitなどのiOSフレームワーク、あるいはおもな機能はナビゲーションであるようなものについては、macOSにはおそらく適さないだろう。

Catalystの詳細については、Appleの開発者向けサイトを参照してほしい。Xcode 11ベータ版はhttps://developer.apple.com/download/からダウンロードできる。開発者ガイドも用意されている。

この記事に星をつける

おすすめ度
スタイル

BT