既存アプリをCatalystに対応してリリースする時の落とし穴 by かっくん

iOSDC Japan 2020
レギュラートーク(20分)

既存アプリをCatalystに対応してリリースする時の落とし穴

fromkk かっくん fromkk
2

これまではmacOSのアプリケーションを開発しようと思うとAppKitというUIKitとは異なるframeworkを利用する必要がありiOSアプリの開発とは勝手が異なりました。​
そんな中WWDC 2018でmacOS Mojaveの一部のアプリケーションにUIKitをmacOSに対応したアプリケーションが搭載されることが発表されました。
さらに、翌年のWWDC 2019にてその機能が開発者向けに「Project Catalyst」として公開されました。
Catalyst対応はXcodeでチェックを一つ入れるだけで簡単にビルドをすることが可能です。
しかし、既存Firebase Firestoreを利用しているプロジェクトではうまくビルドができませんでした。
原因の例をあげると、

  • 何故かCatalystの時だけTeamの設定が必要なライブラリが現れる
  • Catalystに対応していないライブラリがある
  • そもそもCatalystに対応していない機能がある
    などです。
    それらの対応をしたり機能のハンドリングをして、ようやくビルドができていざリリースしようとすると今度はArchiveに失敗します。
    それでもリリースはしたかったのでFirebaseなどのGitHubのIssueを眺める日を過ごしていると、少しずつ解決の糸口が見え始め、最終的にはArchive・アップロードに成功することができました。
    そこから審査を経てリリースしようとしてもすんなりとリリースさせてはくれませんでした。
    連続リジェクトという壁が立ちはだかります。
    本トークでは、Firebase Firestoreを利用したアプリケーションのCatalyst化のリリースの方法をご紹介し、審査に提出した際にリジェクトされた事例とその対応をご紹介します。