Contents
Tauriアプリ開発の概要とMac App Store提出の重要性
Tauriフレームワークは、Rustで構築したバックエンドにWebViewを組み合わせて軽量なデスクトップアプリを開発できる技術スタックとして注目されています。一方、Appleプラットフォームでは「Mac App Store」への登録がユーザー獲得やブランド価値向上に直結するため、Tauriアプリの提出プロセスは技術的正確性が求められます。以下で、macOS向けTauriアプリのビルドからApp Store審査対応までをステップバイステップで解説します。
macOS向けTauriアプリのビルド手順
Rustプロジェクトにおけるクロスコンパイル設定とmacOS特化型ビルドは、開発環境とターゲットプラットフォームとの整合性が重要です。
ターゲットプラットフォームの指定方法
TauriアプリをmacOSで動かすには、tauri.conf.jsonでtargetを"osx"に設定します。「macOs」という表記はTauri公式ドキュメントでは使用されていないため誤りです。
- Point:
targetフィールドの正確な指定がビルド失敗防止の鍵です。 - Reason: 適切でないターゲット指定はライブラリのバインディングエラーを引き起こします。
-
Example:
json
{
"target": "osx"
} -
Point: ビルド時に
cargo tauri build --target osxを実行し、出力ディレクトリが生成されることを確認してください。
依存ライブラリの管理
macOSではcore-foundationやsecurityといったネイティブライブラリが必要な場合があります。
- Point: Rustプロジェクトで使用するパッケージは、Appleのセキュリティポリシーと互換性を確認してください。
- Reason: 無作為に追加したライブラリはcodesign時にエラーを引き起こす可能性があります。
Release構成の作成
Releaseモードでのビルドはcargo build --releaseで実施し、出力ファイルを確認します。
- Point: デバッグ情報(
debugモード)はApp Store提出に不適格です。 - Reason: App Store審査ではアプリの最適化度合いが評価されます。
Apple Developer Programでの証明書申請フロー
Mac App Storeへの提出には、Apple開発者アカウントと証明書の準備が必要です。
開発者アカウントの登録手順
- Apple Developer Programにアクセスし、年会費を支払います(2026年度は100ドル)。
- 申請時に個人または法人情報を入力し、審査待ちになります。
アプリケーション証明書の生成プロセス
証明書作成にはApple Developer Portalを使用します。
- Point: 「Development」証明書は開発用、「Distribution」証明書はリリース用と区別してください。
- Reason: 間違った証明書で署名したアプリはApp Store提出時に拒否されます。
コード署名(Codesign)とNotarizationの実施方法
Appleのセキュリティ要件に合致した署名プロセスを、ターミナルコマンドを交えて解説します。
Codesignコマンドの基本構文
|
1 2 |
codesign --force --sign "Apple Development: あなたの名前 (TEAM_ID)" ./target/release/your-app.app |
- Point:
--signの引数にはApple Developer Portalで生成した証明書を指定します。 - Reason: 不正な署名はMac OS Xが実行を遮断するため、必須です。
Notarizationリクエストの送信フロー
NotarizationはAppleにアプリをスキャンして安全性を検証するプロセスです。
-
notarytoolコマンドを使用し、アップロードします。
bash
notarytool submit ./target/release/your-app.app --apple-id [メールアドレス削除] --password YOUR_APP_PASSWORD --team-id TEAM_ID -
通知メールが届いたら、アプリに
notarytool stapleコマンドを実行してステッピングします。
bash
notarytool staple ./target/release/your-app.app -
Point:
--notarizedフラグは存在せず、staple`コマンドでNotarization情報をアプリに埋め込む必要があります。
entitlementsファイル設定時の落とし穴
Xcodeプロジェクトとの整合性確認が審査拒否リスクを回避するポイントです。
必要となる権限の種類
| 権限名 | 説明 | 対応有無 |
|---|---|---|
| com.apple.security.app-sandbox | サンドボックス機能の有効化 | 必須 |
| com.apple.security.network.client | ネットワーク通信許可 | 依存に応じて |
- Point: Tauriアプリの
entitlements.plistをXcodeの設定と一致させる必要があります。 - Reason: 不一致は「App Sandbox violation」として審査拒否される可能性があります。
App Store審査基準に合致したパッケージング
IPAファイル構築にはAppleの設計ガイドラインと技術的制約を厳守してください。
アプリアイコンの要件
- Point: 1024x1024px以上のPNG形式で作成し、
AppIcon.appiconsetフォルダに配置します。 - Reason: 不正なアイコンは「Missing App Icon」エラーを引き起こします。
バンドルIDの命名規則
バンドルIDは以下のように構成してください:
|
1 2 |
com.あなたの会社名.アプリ名 |
- Point: 例:
com.example.mytauriapp - Reason: 重複したIDはApp Storeに登録不可です。
非技術的要件の確認(Apple App Store審査基準)
以下の項目を必ず満たしてください。
- Point: Apple App Storeの「コンテンツポリシー」に違反しない内容であることを確認してください。
- 公共的な倫理・法律に適合しているか
- 暴力・性的表現などの制限付きコンテンツが含まれていないか
- Point: プライバシーポリシーを明記し、ユーザー同意の取得手順を整えてください。
- Point: ゲームアプリの場合は「年齢区分」に合った表示や利用制限が必要です。
説明文の最適化ポイント
- Point: 特徴を明記し、キーワードを含めて検索順位向上を目指してください。
- Example: 「Tauri製・高速・軽量なmacOSデスクトップアプリ」
まとめ
本記事では以下のポイントを網羅しました:
- macOS向けTauriアプリのビルド手順(ターゲット指定、依存管理)
- Apple Developer Programでの証明書申請フロー
- CodesignとNotarizationの実施方法
- entitlementsファイル設定時の落とし穴
- App Store審査基準に合致したパッケージング
TauriアプリをMac App Storeに提出する際は、コード署名からApp Store審査対応までの一括プロセスを確実に実行してください。記事内のチェックリストを活用し、スムーズなリリースを目指してください。