前提条件
push通知まわりのいろいろな設定は終わっていて、ビルドするたびにXcodeを編集(Push NotificationsをONに)するのが面倒な人向けです。
Xcode APIの取得
https://bitbucket.org/Unity-Technologies/xcodeapi より、stableブランチのzipをダウンロード。
ダウンロードしたzipを展開します。
Xcodeフォルダ内のPropertiesを削除します。
Unity側の作業
先ほどDLし解凍した中にあるXcodeフォルダを
Project/Editor の中にコピー(ドラッグアンドドロップ)します。
※Editorフォルダが無い場合は作成してください。
Editorフォルダ内でC#スクリプトを作成します。今回は名前を”PostProcessBuild”とします。
using UnityEngine; using UnityEditor; using UnityEditor.Callbacks; using UnityEditor.iOS.Xcode; using System.IO; public class PostProcessBuild { [PostProcessBuild] public static void AddCapability(BuildTarget buildTarget, string path) { if(EditorUserBuildSettings.activeBuildTarget != BuildTarget.iOS) { return; } string projPath = path + "/Unity-iPhone.xcodeproj/project.pbxproj"; var proj = new PBXProject(); proj.ReadFromString(File.ReadAllText(projPath)); //string target = proj.TargetGuidByName(TargetGroup); string target = proj.TargetGuidByName(PBXProject.GetUnityTargetName()); proj.AddCapability(target, PBXCapabilityType.PushNotifications); File.WriteAllText(projPath, proj.WriteToString()); } }
Projectのフォルダ構成はこんな感じです。
iOS用のビルドを行い、Xcodeを開いた時に”PushNotifications”がONになっていれば成功です!
InAppPurchaseもONにしたい場合
(省略) proj.AddCapability(target, PBXCapabilityType.PushNotifications); ←の行の下に proj.AddCapability(target, PBXCapabilityType.InAppPurchase); ←これを追加 (省略)
PushNotificationsの箇所にInAppPurchaseの設定も追加すればOKです。
環境など
Unity 5.6.1f1
Xcode 8.3.3
上記環境で構築しました。参考までに。