Flutter:プロジェクトからアーカイブとipaを作成
前提:Flutter SDKのバージョンがプロジェクトの要件に合っており、iOSプロジェクト、プラグインの依存関係、Xcodeツールチェーンが利用可能であること。署名用ファイルとアプリの識別子も対応している必要があります。
flutter doctor -v
flutter pub get
flutter build ipa
まず flutter doctor -v で検出されたiOSツールチェーンの問題を解決してください。依存関係の復元に失敗した場合は、ネットワーク、バージョン制約、プライベートパッケージのアクセス権を切り分けます。前提の問題を隠すためにアーカイブコマンドを繰り返し実行しないでください。
生成される成果物:成功したら、 build/ios/archive 内のアーカイブと、 build/ios/ipa 内のエクスポートファイルを確認します。実際のディレクトリとエクスポート動作は、使用するFlutterのバージョンとビルド出力に従ってください。
React Native:正しいワークスペースからアーカイブ
前提:Node、パッケージマネージャー、プロジェクトのロックファイルの組み合わせが適切であること。CocoaPodsを使うプロジェクトではiOS依存関係をインストールし、正しいschemeを使っていることも確認してください。
node --version
bundle check
cd ios
bundle exec pod install
open .
Gemfileがある場合は、プロジェクトで指定されたBundler環境を使います。Bundlerを使わないプロジェクトでは、チームの手順に沿って依存関係をインストールしてください。Xcodeでは生成された .xcworkspaceを開きます。Podsの依存関係が含まれないプロジェクトファイルを誤って開かないようにしてください。
生成される成果物:対象のschemeと適切なデバイス向けアーカイブ先を選び、「Product」→「Archive」で .xcarchiveを作成します。その後、Organizerで配布方法に応じてエクスポートまたはアップロードします。
Unity:書き出し後はXcodeで仕上げる
前提:Unityエディターのバージョンがプロジェクトに合い、iOSモジュール、サードパーティ製ネイティブプラグイン、リソースが利用可能であること。必要なエディターライセンスもご用意ください。
xcodebuild -version
xcodebuild -list -project "$EXPORTED_XCODE_PROJECT"
UnityでiOSのビルドターゲットに切り替え、Xcodeプロジェクトを書き出します。IL2CPPを使うプロジェクトでは、生成されたコードをネイティブコンパイルする必要があります。書き出しが終わっただけでは、配布可能なインストーラーにはなりません。
生成される成果物:Xcodeで署名、依存関係、ターゲット設定を整えてからArchiveを実行し、アーカイブを作成します。その後、配布手順に沿ってipaをエクスポートするかアップロードしてください。プラグインがワークスペースを生成した場合は、そのワークスペースを開いて続行します。