【Unity/iOS】ビルド完了後にXcodeの設定を変更
iOSへビルドするとXcodeのプロジェクトが書き出されますが、
TeamIDやCapabilityなどを設定するためには、Xcodeの設定を変更できる
PBXProject
を使用します。
設定
TeamID
https://developer.apple.com/account/#/overview/AAAAAAAAAA
の最後の部分がTeamIDになります。
pbxProject.SetTeamId (targetGuid, "AAAAAAAAAA");
Capability
Push通知などのON/OFF設定ができます。
pbxProject.AddCapability (targetGuid, PBXCapabilityType.XXX);
CompileFlags
ARC設定を変更するなどできます。
var flag = "-fno-objc-arc"; var sourcePath = "Libraries/Plugins/iOS/XXX.mm"; var guid = pbxProject.FindFileGuidByProjectPath (sourcePath); var flags = pbxProject.GetCompileFlagsForFile (targetGuid, guid); flags.Add (flag); pbxProject.SetCompileFlagsForFile (targetGuid, guid, flags);
Framework
Frameworkを追加できます。
pbxProject.AddFrameworkToProject (targetGuid, "XXX.framework", true);
実行
using UnityEditor; using UnityEditor.Callbacks; using UnityEditor.iOS.Xcode;
public class XcodeSettingsPostProcesser{ [PostProcessBuildAttribute (0)] public static void OnPostprocessBuild (BuildTarget buildTarget, string pathToBuiltProject){ if (buildTarget != BuildTarget.iOS) return; var projectPath = PBXProject.GetPBXProjectPath(pathToBuiltProject); PBXProject pbxProject = new PBXProject (); pbxProject.ReadFromFile (projectPath); var targetGuid = pbxProject.TargetGuidByName ("Unity-iPhone"), //各種設定 File.WriteAllText (projectPath, pbxProject.WriteToString ()); } }