アプリケーションを公開する
アプリのリリース準備が整ったら、公開してユーザーに届けましょう。
モバイルアプリの場合、各プラットフォームで複数のストアが利用可能ですが、この記事では公式ストアに焦点を当てます。Google Play ストアとApple App Storeです。Webアプリの場合、GitHub Pagesを使用します。
Kotlin Multiplatformアプリケーションを公開するための準備方法について学び、このプロセスで特に注意すべき点を強調します。
Androidアプリ
KotlinはAndroid開発の主要言語であるため、Kotlin MultiplatformがプロジェクトのコンパイルやAndroidアプリのビルドに明確な影響を与えることはありません。共有モジュールから生成されるAndroidライブラリとAndroidアプリ自体は、いずれも一般的なAndroid Gradleモジュールであり、他のAndroidライブラリやアプリと何ら変わりありません。したがって、Kotlin MultiplatformプロジェクトからAndroidアプリを公開するプロセスは、Android開発者ドキュメントに記載されている通常のプロセスと変わりません。
iOSアプリ
Kotlin MultiplatformプロジェクトのiOSアプリは一般的なXcodeプロジェクトからビルドされるため、公開に関わる主要な段階は、iOS開発者ドキュメントに記載されているものと同じです。
App StoreポリシーのSpring'24での変更により、プライバシーマニフェストの不足または不完全な場合、アプリに警告が表示されたり、拒否されたりする可能性があります。 詳細および回避策、特にKotlin Multiplatformアプリについては、iOSアプリのプライバシーマニフェストを参照してください。
Kotlin Multiplatformプロジェクトに特有なのは、共有Kotlinモジュールをフレームワークにコンパイルし、それをXcodeプロジェクトにリンクすることです。 一般的に、共有モジュールとXcodeプロジェクト間の統合は、Android Studio用Kotlin Multiplatformプラグインによって自動的に行われます。 ただし、プラグインを使用しない場合は、XcodeでiOSプロジェクトをビルドおよびバンドルする際に以下の点に留意してください。
- 共有Kotlinライブラリはネイティブフレームワークにコンパイルされます。
- 特定のプラットフォーム用にコンパイルされたフレームワークをiOSアプリプロジェクトに接続する必要があります。
- Xcodeプロジェクト設定で、ビルドシステムが検索するフレームワークへのパスを指定します。
- プロジェクトをビルドした後、アプリを起動してテストし、ランタイムでフレームワークを使用する際に問題がないことを確認する必要があります。
共有KotlinモジュールをiOSプロジェクトに接続するには、2つの方法があります。
- Kotlin CocoaPods Gradleプラグインを使用します。これにより、ネイティブターゲットを持つマルチプラットフォームプロジェクトをiOSプロジェクト内でCocoaPodsの依存関係として使用できます。
- マルチプラットフォームプロジェクトを手動で設定してiOSフレームワークを作成し、Xcodeプロジェクトでその最新バージョンを取得するようにします。この設定は、通常、Kotlin MultiplatformウィザードまたはAndroid Studio用Kotlin Multiplatformプラグインが行います。フレームワークをiOSプロジェクトに接続するを参照して、Xcodeでフレームワークを直接追加する方法を学んでください。
iOSアプリケーションの構成
Xcodeを使用せずに、結果として生成されるアプリに影響を与える基本的なプロパティを構成できます。
バンドルID
バンドルIDは、オペレーティングシステムでアプリを一意に識別します。これを変更するには、Android StudioでiosApp/Configuration/Config.xcconfig
ファイルを開き、BUNDLE_ID
を更新します。
アプリ名
アプリ名は、ターゲットの実行可能ファイルおよびアプリケーションバンドル名を設定します。アプリ名を変更するには、次の手順を実行します。
- Android Studioでプロジェクトをまだ開いていない場合は、
iosApp/Configuration/Config.xcconfig
ファイル内のAPP_NAME
オプションを任意のテキストエディタで直接変更できます。 - Android Studioでプロジェクトをすでに開いている場合は、次の手順を実行します。
- プロジェクトを閉じます。
- 任意のテキストエディタで、
iosApp/Configuration/Config.xcconfig
ファイル内のAPP_NAME
オプションを変更します。 - Android Studioでプロジェクトを再度開きます。
他の設定を構成する必要がある場合は、Xcodeを使用します。Android Studioでプロジェクトを開いた後、XcodeでiosApp/iosApp.xcworkspace
ファイルを開き、そこで変更を行います。
クラッシュレポートのシンボリケーション
開発者がアプリを改善できるように、iOSはアプリのクラッシュを分析する手段を提供しています。詳細なクラッシュ分析のために、クラッシュレポート内のメモリアドレスと、関数や行番号などのソースコード内の場所を照合する特殊なデバッグシンボル(.dSYM
)ファイルを使用します。
デフォルトでは、共有Kotlinモジュールから生成されるiOSフレームワークのリリースバージョンには、付随する.dSYM
ファイルがあります。これは、共有モジュールのコードで発生するクラッシュを分析するのに役立ちます。
クラッシュレポートのシンボリケーションに関する詳細については、Kotlin/Nativeドキュメントを参照してください。
Webアプリ
Webアプリケーションを公開するには、コンパイルされたファイルとアプリケーションを構成するリソースを含む成果物を作成します。これらの成果物は、GitHub PagesのようなWebホスティングプラットフォームにアプリケーションをデプロイするために必要です。
成果物の生成
wasmJsBrowserDistributionタスクを実行するための実行構成を作成します。
- Run | Edit Configurationsメニュー項目を選択します。
- プラスボタンをクリックし、ドロップダウンリストからGradleを選択します。
- Tasks and argumentsフィールドに、次のコマンドを貼り付けます。
wasmJsBrowserDistribution
- OKをクリックします。
これで、この構成を使用してタスクを実行できます。
タスクが完了すると、生成された成果物はcomposeApp/build/dist/wasmJs/productionExecutable
ディレクトリにあります。
GitHub Pagesでアプリケーションを公開する
成果物が準備できたら、Webホスティングプラットフォームにアプリケーションをデプロイできます。
productionExecutable
ディレクトリの内容を、サイトを作成したいリポジトリにコピーします。- サイトの作成に関するGitHubの手順に従います。
GitHubに変更をプッシュした後、サイトの変更が公開されるまでに最大10分かかる場合があります。
- ブラウザで、GitHub Pagesドメインに移動します。
おめでとうございます!GitHub Pagesに成果物を公開しました。
Webアプリケーションのデバッグ
Webアプリケーションは、追加の設定なしでブラウザでそのままデバッグできます。ブラウザでのデバッグ方法については、Kotlinドキュメントのブラウザでのデバッグガイドを参照してください。