0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

iOS/macOS専用APIを共存させる

0
Posted at

iOS、macOSにはそれぞれ専用APIがあり、macOSからはMac Catalyst(iPad互換モード)を使用してiOS専用APIを呼び出すことができる。ただしMac Catalystで互換モードを使うとiPad環境と認識され、macOS専用APIが使用できない。

例えばApple Musicの再生情報取得・管理が可能なMPMusicPlayerControllerはAppKitから使用できないが、Mac Catalyst経由でUIKitを呼び出すことで使用できる。一方でNSScreenのようなAppKit専用APIが共存できない。
今回はMPMusicPlayerControllerで取得した情報を壁紙として設定したいので、両方共存させる必要がある。

成功した手法としては、iOSアプリ(Catalyst)としてホストアプリを作成し、ヘルパーアプリとしてmacOSアプリを同梱、App Groupで情報同期を行う方法だ。
File>New>TargetからmacOS>Appを選択してヘルパーアプリを作成する。

あとはシンプルにApp Groupを作成してデータを共有するだけ。

注意事項として、おそらくApp Reviewを通過できないため公証による配布となる。この際に外側のホストアプリだけ公証取得してもヘルパーアプリは署名されず、先にヘルパーアプリの公証を取ってからホスト側の公証を受ける必要がある。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?