iOS 12のシミュレータで動作するバイナリをmacOS 10.14のUIKitランタイムを利用してMacで動作するように変換してくれるコマンドラインツール「marzipanify」が公開されています。詳細は以下から。
Appleは現在、macOSとiOSで別々となっているアプリを1つのアプリとして開発し、ユーザーに対し1つのユーザーエクスペリエンスで提供出来るようにするというコードネーム「Marzipan」プロジェクトを進めていると噂されており、WWDC 2018のSneak Peekで披露されたmacOSアプリを構成するフレームワーク(AppKit)にUIKitの一部を取り込み、iOSのHome、株価、ボイスメモ、Newsアプリを移植した例がこれにあたるのではないかと予想されていますが、
Lights Offなどのゲームアプリ開発者のSteve Troughton-Smithさんは現地時間2019年03月04日、iOS 12とmacOS 10.14 Mojaveのプライベートフレームワークを利用し、iOS 12で動作するバイナリをmacOS 10.14のUIKitランタイム上でも動作するように変換するコマンドラインツール「marzipanify」を公開しています。
marzipanify is an unsupported commandline tool to take an existing iOS Simulator binary (with minimum deployment target of iOS 12.0) and statically convert it and its embedded libraries & frameworks to run on macOS 10.14’s UIKit runtime (Marzipan).
steventroughtonsmith/marzipanify: Convert an iOS Simulator app bundle to an iOSMac (Marzipan) one (Unsupported & undocumented, WIP) – GitHub
marzipanifyで作成されたアプリ
marzipanifyで変換したアプリを実行するにはmacOSのSIPとAMFIを無効にする必要もあるようですが、既にSystem 7時代から開発が続けられている計算機アプリ「PCalc」の開発者のJames Thomsonさんは、PCalc for iOSを使いmacOSで動作することを確認しており、
Here's a version of MarziPCalc that automatically switches between the phone and the iPad layouts as you resize the window. pic.twitter.com/fJAtYNxt6Q
— James Thomson (@jamesthomson) 2019年3月1日
パズルゲームなどを開発しているGeoff Hackworthはmarzipanifyで変換したiOSアプリがmacOSでリサイズした場合、どの様なレイアウトとなるのかをテストしているので、興味のある方はSteveさんのブログとリポジトリをチェックしてみてください。
コメント
macOSとXcodeをベータ版にしないとダメっぽい
ttps://www.strv.com/blog/unlocking-marzipan-uikit-on-macos
うーん、プライベートAPI使うなとxcodeのEULAに書いてあったと思うけど。