概要
# 通常の xcodebuild xcodebuild \ -project $PROJECT_PATH \ -scheme $SCHEME \ archive -archivePath $ARCHIVE_PATH \ PROVISIONING_PROFILE=$PROVISIONING_PROFILE
# 高速な xcodebuild xcodebuild \ -project $PROJECT_PATH \ -scheme $SCHEME \ archive -archivePath $ARCHIVE_PATH \ PROVISIONING_PROFILE=$PROVISIONING_PROFILE \ DEBUG_INFORMATION_FORMAT=dwarf \ DEBUGGING_SYMBOLS=NO \ GCC_GENERATE_DEBUGGING_SYMBOLS=NO \ ONLY_ACTIVE_ARCH=YES \ VALID_ARCHS=arm64
上記2種類の xcodebuild を適当な Unity プロジェクトから出力した
Xcode プロジェクトに対して実行してみた
検証結果
項目 | ビルド時間 |
---|---|
通常版 | 3分18秒 |
高速版 | 1分30秒 |
補足
高速版の xcodebuild を使用する時は Unity プロジェクトで
Architecture を Universal ではなく ARM64 に変更しておく
メモ
using UnityEditor; using UnityEditor.iOS.Xcode; public static class Example { [MenuItem("Tools/Hoge")] private static void Hoge() { var path = "iOS"; var projectPath = PBXProject.GetPBXProjectPath(path); var project = new PBXProject(); project.ReadFromFile(projectPath); var targetGuid = project.GetUnityMainTargetGuid(); project.SetBuildProperty(targetGuid, "DEBUG_INFORMATION_FORMAT", "dwarf"); project.SetBuildProperty(targetGuid, "DEBUGGING_SYMBOLS", "NO"); project.SetBuildProperty(targetGuid, "ENABLE_BITCODE", "NO"); project.SetBuildProperty(targetGuid, "GCC_GENERATE_DEBUGGING_SYMBOLS", "NO"); project.SetBuildProperty(targetGuid, "ONLY_ACTIVE_ARCH", "YES"); project.SetBuildProperty(targetGuid, "VALID_ARCHS", "arm64"); project.WriteToFile(projectPath); } }
エディタ拡張で設定する場合は多分こんな感じ