Unity 2021.3.14f1
현재(2022-12-11) 기준 Xcode PostProcessBuild 파일
using System.IO;
using UnityEngine;
using UnityEditor;
using UnityEditor.iOS.Xcode;
using UnityEditor.Callbacks;
using System.Collections;
namespace blueasa
{
public class XcodeSettingsPostProcessor
{
#if UNITY_2019_3_OR_NEWER
[PostProcessBuild(45)]
private static void FixPodFile(BuildTarget buildTarget, string buildPath)
{
if (buildTarget != BuildTarget.iOS)
return;
using (StreamWriter sw = File.AppendText(buildPath + "/Podfile"))
{
sw.WriteLine("\npost_install do |installer|\n installer.pods_project.targets.each do |target|\n if target.respond_to?(:product_type) and target.product_type == \"com.apple.product-type.bundle\"\n target.build_configurations.each do |config|\n config.build_settings['CODE_SIGN_IDENTITY'] = \"\"\n #prevent resource bundle from reading image nil\n config.build_settings.delete('PRODUCT_BUNDLE_IDENTIFIER')\n end\n end\n end\nend");
}
}
#endif
[PostProcessBuild]
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);
#if UNITY_2019_3_OR_NEWER
string strMainTargetGuid = pbxProject.GetUnityMainTargetGuid();
string strFrameworkTargetGuid = pbxProject.GetUnityFrameworkTargetGuid();
#else
string strMainTargetGuid = pbxProject.TargetGuidByName("Unity-iPhone");
#endif
foreach (var targetGuid in new[] { strMainTargetGuid, pbxProject.GetUnityFrameworkTargetGuid() })
{
pbxProject.SetBuildProperty(targetGuid, "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES", "NO");
}
pbxProject.SetBuildProperty(strMainTargetGuid, "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES", "YES");
pbxProject.AddFrameworkToProject(strFrameworkTargetGuid, "Accelerate.framework", true);
#if !UNITY_2019_3_OR_NEWER
pbxProject.AddCapability(targetGuid, UnityEditor.iOS.Xcode.PBXCapabilityType.PushNotifications);
#endif
File.WriteAllText(projectPath, pbxProject.WriteToString());
#if UNITY_2019_3_OR_NEWER
ProjectCapabilityManager projCapability = new ProjectCapabilityManager(projectPath, "Unity-iPhone/mmk.entitlements", "Unity-iPhone");
projCapability.AddPushNotifications(false);
projCapability.AddInAppPurchase();
projCapability.AddSignInWithApple();
projCapability.WriteToFile();
#endif
var plistPath = System.IO.Path.Combine(pathToBuiltProject, "Info.plist");
var plist = new PlistDocument();
plist.ReadFromFile(plistPath);
plist.root.SetBoolean("ITSAppUsesNonExemptEncryption", false);
plist.root.SetBoolean("FacebookAutoLogAppEventsEnabled", false);
plist.root.SetString("NSAdvertisingAttributionReportEndpoint", "https://appsflyer-skadnetwork.com/");
plist.root.SetString("NSPhotoLibraryUsageDescription", "Every play requires access to the photo library");
#region SKAdNetwork IDs
var arraySKAdNetworkItems = plist.root.CreateArray("SKAdNetworkItems");
var dictSKAdNetworkIdentifier_Admob = arraySKAdNetworkItems.AddDict();
dictSKAdNetworkIdentifier_Admob.SetString("SKAdNetworkIdentifier", "cstr6suwn9.skadnetwork");
var dictSKAdNetworkIdentifier_FAN_1 = arraySKAdNetworkItems.AddDict();
dictSKAdNetworkIdentifier_FAN_1.SetString("SKAdNetworkIdentifier", "v9wttpbfk9.skadnetwork");
var dictSKAdNetworkIdentifier_FAN_2 = arraySKAdNetworkItems.AddDict();
dictSKAdNetworkIdentifier_FAN_2.SetString("SKAdNetworkIdentifier", "n38lu8286q.skadnetwork");
var dictSKAdNetworkIdentifier_Unity_1 = arraySKAdNetworkItems.AddDict();
dictSKAdNetworkIdentifier_Unity_1.SetString("SKAdNetworkIdentifier", "4DZT52R2T5.skadnetwork");
var dictSKAdNetworkIdentifier_Unity_2 = arraySKAdNetworkItems.AddDict();
dictSKAdNetworkIdentifier_Unity_2.SetString("SKAdNetworkIdentifier", "bvpn9ufa9b.skadnetwork");
var dictSKAdNetworkIdentifier_Mintegral = arraySKAdNetworkItems.AddDict();
dictSKAdNetworkIdentifier_Mintegral.SetString("SKAdNetworkIdentifier", "KBD757YWX3.skadnetwork");
var dictSKAdNetworkIdentifier_CriteoSA = arraySKAdNetworkItems.AddDict();
dictSKAdNetworkIdentifier_CriteoSA.SetString("SKAdNetworkIdentifier", "9RD848Q2BZ.skadnetwork");
var dictSKAdNetworkIdentifier_mkhoj = arraySKAdNetworkItems.AddDict();
dictSKAdNetworkIdentifier_mkhoj.SetString("SKAdNetworkIdentifier", "WZMMZ9FP6W.skadnetwork");
var dictSKAdNetworkIdentifier_Snap = arraySKAdNetworkItems.AddDict();
dictSKAdNetworkIdentifier_Snap.SetString("SKAdNetworkIdentifier", "424M5254LK.skadnetwork");
var dictSKAdNetworkIdentifier_Cheetah = arraySKAdNetworkItems.AddDict();
dictSKAdNetworkIdentifier_Cheetah.SetString("SKAdNetworkIdentifier", "24t9a8vw3c.skadnetwork");
var dictSKAdNetworkIdentifier_Appier = arraySKAdNetworkItems.AddDict();
dictSKAdNetworkIdentifier_Appier.SetString("SKAdNetworkIdentifier", "v72qych5uu.skadnetwork");
var dictSKAdNetworkIdentifier_Liftoff = arraySKAdNetworkItems.AddDict();
dictSKAdNetworkIdentifier_Liftoff.SetString("SKAdNetworkIdentifier", "7UG5ZH24HU.skadnetwork");
var dictSKAdNetworkIdentifier_Beeswax = arraySKAdNetworkItems.AddDict();
dictSKAdNetworkIdentifier_Beeswax.SetString("SKAdNetworkIdentifier", "c6k4g5qg8m.skadnetwork");
var dictSKAdNetworkIdentifier_Adikteev = arraySKAdNetworkItems.AddDict();
dictSKAdNetworkIdentifier_Adikteev.SetString("SKAdNetworkIdentifier", "ydx93a7ass.skadnetwork");
var dictSKAdNetworkIdentifier_Realtime = arraySKAdNetworkItems.AddDict();
dictSKAdNetworkIdentifier_Realtime.SetString("SKAdNetworkIdentifier", "4468km3ulz.skadnetwork");
var dictSKAdNetworkIdentifier_Remerge = arraySKAdNetworkItems.AddDict();
dictSKAdNetworkIdentifier_Remerge.SetString("SKAdNetworkIdentifier", "2U9PT9HC89.skadnetwork");
var dictSKAdNetworkIdentifier_CriteoCorp = arraySKAdNetworkItems.AddDict();
dictSKAdNetworkIdentifier_CriteoCorp.SetString("SKAdNetworkIdentifier", "hs6bdukanm.skadnetwork");
var dictSKAdNetworkIdentifier_Aarki = arraySKAdNetworkItems.AddDict();
dictSKAdNetworkIdentifier_Aarki.SetString("SKAdNetworkIdentifier", "4FZDC2EVR5.skadnetwork");
var dictSKAdNetworkIdentifier_YouAppi = arraySKAdNetworkItems.AddDict();
dictSKAdNetworkIdentifier_YouAppi.SetString("SKAdNetworkIdentifier", "3RD42EKR43.skadnetwork");
var dictSKAdNetworkIdentifier_LifeStreet = arraySKAdNetworkItems.AddDict();
dictSKAdNetworkIdentifier_LifeStreet.SetString("SKAdNetworkIdentifier", "t38b2kh725.skadnetwork");
var dictSKAdNetworkIdentifier_SPOTAD = arraySKAdNetworkItems.AddDict();
dictSKAdNetworkIdentifier_SPOTAD.SetString("SKAdNetworkIdentifier", "f73kdq92p3.skadnetwork");
var dictSKAdNetworkIdentifier_BYTEMOD_Global = arraySKAdNetworkItems.AddDict();
dictSKAdNetworkIdentifier_BYTEMOD_Global.SetString("SKAdNetworkIdentifier", "22mmun2rn5.skadnetwork");
var dictSKAdNetworkIdentifier_DATASEAT = arraySKAdNetworkItems.AddDict();
dictSKAdNetworkIdentifier_DATASEAT.SetString("SKAdNetworkIdentifier", "M8DBW4SV7C.skadnetwork");
var dictSKAdNetworkIdentifier_Kidoz = arraySKAdNetworkItems.AddDict();
dictSKAdNetworkIdentifier_Kidoz.SetString("SKAdNetworkIdentifier", "v79kvwwj4g.skadnetwork");
var dictSKAdNetworkIdentifier_Sabio = arraySKAdNetworkItems.AddDict();
dictSKAdNetworkIdentifier_Sabio.SetString("SKAdNetworkIdentifier", "GLQZH8VGBY.skadnetwork");
var dictSKAdNetworkIdentifier_Moloco = arraySKAdNetworkItems.AddDict();
dictSKAdNetworkIdentifier_Moloco.SetString("SKAdNetworkIdentifier", "9T245VHMPL.skadnetwork");
var dictSKAdNetworkIdentifier_Bidmachine = arraySKAdNetworkItems.AddDict();
dictSKAdNetworkIdentifier_Bidmachine.SetString("SKAdNetworkIdentifier", "wg4vff78zm.skadnetwork");
var dictSKAdNetworkIdentifier_BYTEMOD_CN = arraySKAdNetworkItems.AddDict();
dictSKAdNetworkIdentifier_BYTEMOD_CN.SetString("SKAdNetworkIdentifier", "238da6jt44.skadnetwork");
var dictSKAdNetworkIdentifier_Apptimus = arraySKAdNetworkItems.AddDict();
dictSKAdNetworkIdentifier_Apptimus.SetString("SKAdNetworkIdentifier", "lr83yxwka7.skadnetwork");
var dictSKAdNetworkIdentifier_Centro = arraySKAdNetworkItems.AddDict();
dictSKAdNetworkIdentifier_Centro.SetString("SKAdNetworkIdentifier", "3sh42y64q3.skadnetwork");
var dictSKAdNetworkIdentifier_UNICORN = arraySKAdNetworkItems.AddDict();
dictSKAdNetworkIdentifier_UNICORN.SetString("SKAdNetworkIdentifier", "578prtvx9j.skadnetwork");
var dictSKAdNetworkIdentifier_REVX = arraySKAdNetworkItems.AddDict();
dictSKAdNetworkIdentifier_REVX.SetString("SKAdNetworkIdentifier", "5a6flpkh64.skadnetwork");
var dictSKAdNetworkIdentifier_RTBHouse = arraySKAdNetworkItems.AddDict();
dictSKAdNetworkIdentifier_RTBHouse.SetString("SKAdNetworkIdentifier", "8s468mfl3y.skadnetwork");
var dictSKAdNetworkIdentifier_CrossInstall = arraySKAdNetworkItems.AddDict();
dictSKAdNetworkIdentifier_CrossInstall.SetString("SKAdNetworkIdentifier", "prcb7njmu6.skadnetwork");
var dictSKAdNetworkIdentifier_Maiden = arraySKAdNetworkItems.AddDict();
dictSKAdNetworkIdentifier_Maiden.SetString("SKAdNetworkIdentifier", "zmvfpc5aq8.skadnetwork");
var dictSKAdNetworkIdentifier_AdColony = arraySKAdNetworkItems.AddDict();
dictSKAdNetworkIdentifier_AdColony.SetString("SKAdNetworkIdentifier", "4PFYVQ9L8R.skadnetwork");
var dictSKAdNetworkIdentifier_Spyke = arraySKAdNetworkItems.AddDict();
dictSKAdNetworkIdentifier_Spyke.SetString("SKAdNetworkIdentifier", "44n7hlldy6.skadnetwork");
var dictSKAdNetworkIdentifier_LoopMe = arraySKAdNetworkItems.AddDict();
dictSKAdNetworkIdentifier_LoopMe.SetString("SKAdNetworkIdentifier", "5lm9lj6jb7.skadnetwork");
var dictSKAdNetworkIdentifier_Smadex = arraySKAdNetworkItems.AddDict();
dictSKAdNetworkIdentifier_Smadex.SetString("SKAdNetworkIdentifier", "ppxm28t8ap.skadnetwork");
var dictSKAdNetworkIdentifier_ADTIMING = arraySKAdNetworkItems.AddDict();
dictSKAdNetworkIdentifier_ADTIMING.SetString("SKAdNetworkIdentifier", "488r3q3dtq.skadnetwork");
var dictSKAdNetworkIdentifier_Jampp = arraySKAdNetworkItems.AddDict();
dictSKAdNetworkIdentifier_Jampp.SetString("SKAdNetworkIdentifier", "YCLNXRL5PM.skadnetwork");
var dictSKAdNetworkIdentifier_PubNative = arraySKAdNetworkItems.AddDict();
dictSKAdNetworkIdentifier_PubNative.SetString("SKAdNetworkIdentifier", "TL55SBB4FM.skadnetwork");
var dictSKAdNetworkIdentifier_Chartboost = arraySKAdNetworkItems.AddDict();
dictSKAdNetworkIdentifier_Chartboost.SetString("SKAdNetworkIdentifier", "F38H382JLK.skadnetwork");
var dictSKAdNetworkIdentifier_ScaleMonk = arraySKAdNetworkItems.AddDict();
dictSKAdNetworkIdentifier_ScaleMonk.SetString("SKAdNetworkIdentifier", "av6w8kgt66.skadnetwork");
var dictSKAdNetworkIdentifier_Persona = arraySKAdNetworkItems.AddDict();
dictSKAdNetworkIdentifier_Persona.SetString("SKAdNetworkIdentifier", "44jx6755aq.skadnetwork");
var dictSKAdNetworkIdentifier_Triapodi = arraySKAdNetworkItems.AddDict();
dictSKAdNetworkIdentifier_Triapodi.SetString("SKAdNetworkIdentifier", "mlmmfzh3r3.skadnetwork");
var dictSKAdNetworkIdentifier_Vungle = arraySKAdNetworkItems.AddDict();
dictSKAdNetworkIdentifier_Vungle.SetString("SKAdNetworkIdentifier", "GTA9LK7P23.skadnetwork");
var dictSKAdNetworkIdentifier_MyTarget = arraySKAdNetworkItems.AddDict();
dictSKAdNetworkIdentifier_MyTarget.SetString("SKAdNetworkIdentifier", "n9x2a789qt.skadnetwork");
#endregion
var arrayLocalizations = plist.root.CreateArray("CFBundleLocalizations");
arrayLocalizations.AddString("en");
arrayLocalizations.AddString("ko");
plist.WriteToFile(plistPath);
}
}
}