BuildPostProcessor.cs 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351
  1. //
  2. // Copyright (c) 2017 eppz! mobile, Gergely Borbás (SP)
  3. //
  4. // http://www.twitter.com/_eppz
  5. //
  6. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
  7. // INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
  8. // PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
  9. // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
  10. // CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
  11. // OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  12. //
  13. #if UNITY_IOS
  14. using System.IO;
  15. using UnityEngine;
  16. using UnityEditor;
  17. using UnityEditor.Callbacks;
  18. using System.Collections;
  19. using System.Runtime.Serialization.Formatters.Binary;
  20. using System;
  21. #if UNITY_IOS
  22. using UnityEditor.iOS.Xcode;
  23. #if UNITY_2019_3_OR_NEWER
  24. using UnityEditor.iOS.Xcode.Extensions;
  25. #endif
  26. using System.Reflection;
  27. #endif
  28. public class BuildPostProcessor
  29. {
  30. [PostProcessBuildAttribute(99)]
  31. public static void OnPostProcessBuild(BuildTarget target, string path)
  32. {
  33. if (target == BuildTarget.iOS)
  34. {
  35. // Read.
  36. string projectPath = PBXProject.GetPBXProjectPath(path);
  37. PBXProject project = new PBXProject();
  38. project.ReadFromString(File.ReadAllText(projectPath));
  39. string targetGUID;
  40. string xcodeFrameworkTargetGuid;
  41. #if UNITY_2019_3_OR_NEWER
  42. xcodeFrameworkTargetGuid = project.GetUnityFrameworkTargetGuid();
  43. targetGUID = project.GetUnityMainTargetGuid();
  44. project.AddFileToBuild(targetGUID, project.GetTargetProductFileRef(xcodeFrameworkTargetGuid));
  45. // 关闭 UnityFramework 中的 bitcode
  46. string framework = project.TargetGuidByName("UnityFramework");
  47. project.SetBuildProperty(framework, "ENABLE_BITCODE", "NO");
  48. Debug.Log(xcodeFrameworkTargetGuid);
  49. Debug.Log(targetGUID);
  50. #else
  51. targetGUID = project.TargetGuidByName("Unity-iPhone");
  52. xcodeFrameworkTargetGuid = targetGUID;
  53. #endif
  54. AddFrameworks(project, xcodeFrameworkTargetGuid);
  55. //修改BuildSetting中的键值对
  56. project.SetBuildProperty(targetGUID, "ENABLE_BITCODE", "NO");
  57. // 增加Swift支持
  58. project.SetBuildProperty(targetGUID, "SWIFT_VERSION", "5.0");
  59. project.AddBuildProperty(targetGUID, "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES", "YES");
  60. // Write.
  61. File.WriteAllText(projectPath, project.WriteToString());
  62. EditorPlist(path);
  63. string relativeEntitlementFilePath = "Unity-iPhone/amsw.entitlements";
  64. string absoluteEntitlementFilePath = path + "/" + relativeEntitlementFilePath;
  65. PlistDocument tempEntitlements = new PlistDocument();
  66. //iCloud Container
  67. string icloudContainerId = "iCloud."+ Application.identifier;
  68. PlistElementArray icloudIDsArr = new PlistElementArray();
  69. icloudIDsArr.AddString(icloudContainerId);
  70. PlistElementArray icloudSersArr = new PlistElementArray();
  71. icloudSersArr.AddString("CloudDocuments");
  72. tempEntitlements.root["com.apple.developer.icloud-container-identifiers"] = icloudIDsArr;
  73. tempEntitlements.root["com.apple.developer.icloud-services"] = icloudSersArr;
  74. tempEntitlements.root["com.apple.developer.ubiquity-container-identifiers"] = icloudIDsArr;
  75. project.AddCapability(targetGUID, PBXCapabilityType.iCloud, relativeEntitlementFilePath);
  76. tempEntitlements.WriteToFile(absoluteEntitlementFilePath);
  77. AddPlist(project, targetGUID, path);
  78. }
  79. }
  80. static void AddPlist(PBXProject project, string targetGUID, string path)
  81. {
  82. string projectPath = path + "/Unity-iPhone.xcodeproj/project.pbxproj";
  83. var fileName = "GoogleService-Info.plist";
  84. var filePath = Path.Combine("Assets/PottingMobileSDK", fileName);//路径请自行修改
  85. string destFilePath = Path.Combine(path, fileName);
  86. //Debug.Log("path is " + destFilePath);
  87. //路径下的文件若存在,则删除
  88. if (File.Exists(destFilePath))
  89. {
  90. File.Delete(destFilePath);
  91. }
  92. //将当前filepath路径下的文件拷贝到后面的路径下
  93. File.Copy(filePath, destFilePath);
  94. string name = project.AddFile(fileName, fileName, PBXSourceTree.Source);
  95. Debug.Log("name--" + name);
  96. //project.AddFolderReference("/" + fileName, path, PBXSourceTree.Source);
  97. //project.AddCopyFilesBuildPhase(targetGUID,name, destFilePath, "10");
  98. #if UNITY_2019_3_OR_NEWER
  99. project.AddFileToBuild(targetGUID, name);
  100. project.WriteToFile(projectPath);
  101. #endif
  102. project.AddFileToBuild(targetGUID, name);
  103. project.WriteToFile(projectPath);
  104. }
  105. static void AddFrameworks(PBXProject project, string targetGUID)
  106. {
  107. // Frameworks
  108. project.AddFrameworkToProject(targetGUID, "libz.dylib", false);
  109. project.AddFrameworkToProject(targetGUID, "libsqlite3.tbd", false);
  110. project.AddFrameworkToProject(targetGUID, "CoreTelephony.framework", false);
  111. }
  112. //编辑plist文件
  113. static void EditorPlist(string path)
  114. {
  115. //添加Plist数据
  116. string plistPath = path + "/Info.plist";
  117. PlistDocument plist = new PlistDocument();
  118. plist.ReadFromString(File.ReadAllText(plistPath));
  119. // Get root
  120. PlistElementDict rootDict = plist.root;
  121. var urlTypeAry = plist.root.CreateArray("CFBundleURLTypes");
  122. var urlTypeDict = urlTypeAry.AddDict();
  123. var urlScheme = urlTypeDict.CreateArray("CFBundleURLSchemes");
  124. urlScheme.AddString("fb"+PottingMobileContent.FacebookAppid);
  125. var urlTypeDict1 = urlTypeAry.AddDict();
  126. var urlScheme1 = urlTypeDict1.CreateArray("CFBundleURLSchemes");
  127. urlScheme1.AddString("pottingmob");
  128. // 用于开启推送
  129. var backModesAry = plist.root.CreateArray("UIBackgroundModes");
  130. backModesAry.AddString("remote-notification");
  131. //AF 对于iOS15 ReportEndpoint功能适配
  132. plist.root.SetString("NSAdvertisingAttributionReportEndpoint", "https://appsflyer-skadnetwork.com/");
  133. plist.root.SetString("AppLovinSdkKey", "3A74IfT6NFU_AdrIDfHfgDUXOTq1_vyFDwcakL_Me-NtsxCz_rFucqXb2R_D4hH2S6OKcI36tREbu23MfoOrlH");
  134. plist.root.SetBoolean("GADIsAdManagerApp", true);
  135. plist.root.SetString("GADApplicationIdentifier", PottingMobileContent.Admob_appid);
  136. plist.root.SetString("FacebookAppID", PottingMobileContent.FacebookAppid);
  137. plist.root.SetString("FacebookDisplayName", PottingMobileContent.FacebookDisplayName);
  138. plist.root.SetString("FacebookClientToken", PottingMobileContent.FacebookClientToken);
  139. plist.root.SetBoolean("ITSAppUsesNonExemptEncryption", false);
  140. plist.root.SetString("NSUserTrackingUsageDescription", "Customized ads can greatly improve your user experience. If you only want to receive ads relevant to you, consider allowing access to IDFA on the next screen. If the acccess is prohibited, you will still see ads. The number of ads you see will not change, but the relevance will decrease.");
  141. plist.root.SetBoolean("FacebookAutoLogAppEventsEnabled", true);
  142. plist.root.SetBoolean("FacebookAdvertiserIDCollectionEnabled", true);
  143. var fbAry=plist.root.CreateArray("LSApplicationQueriesSchemes");
  144. fbAry.AddString("fbapi");
  145. fbAry.AddString("fbapi20130214");
  146. fbAry.AddString("fbapi20130410");
  147. fbAry.AddString("fbapi20130702");
  148. fbAry.AddString("fbapi20131010");
  149. fbAry.AddString("fbapi20131219");
  150. fbAry.AddString("fbapi20140410");
  151. fbAry.AddString("fbapi20140116");
  152. fbAry.AddString("fbapi20150313");
  153. fbAry.AddString("fbapi20150629");
  154. fbAry.AddString("fbapi20160328");
  155. fbAry.AddString("fbauth");
  156. fbAry.AddString("fbauth2");
  157. fbAry.AddString("fbshareextension");
  158. fbAry.AddString("fb-messenger-share-api");
  159. var nsapp = plist.root.CreateDict("NSAppTransportSecurity");
  160. nsapp.SetBoolean("NSAllowsArbitraryLoads", true);
  161. nsapp.SetBoolean("NSAllowsArbitraryLoadsForMedia", true);
  162. nsapp.SetBoolean("NSAllowsArbitraryLoadsInWebContent", true);
  163. var skAry = plist.root.CreateArray("SKAdNetworkItems");
  164. skAry.AddDict().SetString("SKAdNetworkIdentifier", "2U9PT9HC89.skadnetwork");
  165. skAry.AddDict().SetString("SKAdNetworkIdentifier", "4468km3ulz.skadnetwork");
  166. skAry.AddDict().SetString("SKAdNetworkIdentifier", "4FZDC2EVR5.skadnetwork");
  167. skAry.AddDict().SetString("SKAdNetworkIdentifier", "7UG5ZH24HU.skadnetwork");
  168. skAry.AddDict().SetString("SKAdNetworkIdentifier", "8s468mfl3y.skadnetwork");
  169. skAry.AddDict().SetString("SKAdNetworkIdentifier", "9RD848Q2BZ.skadnetwork");
  170. skAry.AddDict().SetString("SKAdNetworkIdentifier", "9T245VHMPL.skadnetwork");
  171. skAry.AddDict().SetString("SKAdNetworkIdentifier", "av6w8kgt66.skadnetwork");
  172. skAry.AddDict().SetString("SKAdNetworkIdentifier", "F38H382JLK.skadnetwork");
  173. skAry.AddDict().SetString("SKAdNetworkIdentifier", "hs6bdukanm.skadnetwork");
  174. skAry.AddDict().SetString("SKAdNetworkIdentifier", "KBD757YWX3.skadnetwork");
  175. skAry.AddDict().SetString("SKAdNetworkIdentifier", "ludvb6z3bs.skadnetwork");
  176. skAry.AddDict().SetString("SKAdNetworkIdentifier", "M8DBW4SV7C.skadnetwork");
  177. skAry.AddDict().SetString("SKAdNetworkIdentifier", "mlmmfzh3r3.skadnetwork");
  178. skAry.AddDict().SetString("SKAdNetworkIdentifier", "prcb7njmu6.skadnetwork");
  179. skAry.AddDict().SetString("SKAdNetworkIdentifier", "t38b2kh725.skadnetwork");
  180. skAry.AddDict().SetString("SKAdNetworkIdentifier", "TL55SBB4FM.skadnetwork");
  181. skAry.AddDict().SetString("SKAdNetworkIdentifier", "WZMMZ9FP6W.skadnetwork");
  182. skAry.AddDict().SetString("SKAdNetworkIdentifier", "YCLNXRL5PM.skadnetwork");
  183. skAry.AddDict().SetString("SKAdNetworkIdentifier", "ydx93a7ass.skadnetwork");
  184. skAry.AddDict().SetString("SKAdNetworkIdentifier", "GTA9LK7P23.skadnetwork");
  185. skAry.AddDict().SetString("SKAdNetworkIdentifier", "ECPZ2SRF59.skadnetwork");
  186. skAry.AddDict().SetString("SKAdNetworkIdentifier", "5lm9lj6jb7.skadnetwork");
  187. skAry.AddDict().SetString("SKAdNetworkIdentifier", "78prtvx9j.skadnetwork");
  188. skAry.AddDict().SetString("SKAdNetworkIdentifier", "238da6jt44.skadnetwork");
  189. skAry.AddDict().SetString("SKAdNetworkIdentifier", "22mmun2rn5.skadnetwork");
  190. skAry.AddDict().SetString("SKAdNetworkIdentifier", "cstr6suwn9.skadnetwork");
  191. skAry.AddDict().SetString("SKAdNetworkIdentifier", "su67r6k2v3.skadnetwork");
  192. skAry.AddDict().SetString("SKAdNetworkIdentifier", "4DZT52R2T5.skadnetwork");
  193. skAry.AddDict().SetString("SKAdNetworkIdentifier", "bvpn9ufa9b.skadnetwork");
  194. skAry.AddDict().SetString("SKAdNetworkIdentifier", "wg4vff78zm.skadnetwork");
  195. skAry.AddDict().SetString("SKAdNetworkIdentifier", "737z793b9f.skadnetwork");
  196. skAry.AddDict().SetString("SKAdNetworkIdentifier", "44jx6755aq.skadnetwork");
  197. skAry.AddDict().SetString("SKAdNetworkIdentifier", "W9Q455WK68.skadnetwork");
  198. skAry.AddDict().SetString("SKAdNetworkIdentifier", "GLQZH8VGBY.skadnetwork");
  199. skAry.AddDict().SetString("SKAdNetworkIdentifier", "c6k4g5qg8m.skadnetwork");
  200. skAry.AddDict().SetString("SKAdNetworkIdentifier", "4PFYVQ9L8R.skadnetwork");
  201. skAry.AddDict().SetString("SKAdNetworkIdentifier", "6xzpu9s2p8.skadnetwork");
  202. //fb ad sdk
  203. skAry.AddDict().SetString("SKAdNetworkIdentifier", "v9wttpbfk9.skadnetwork");
  204. skAry.AddDict().SetString("SKAdNetworkIdentifier", "n38lu8286q.skadnetwork");
  205. //mopub
  206. skAry.AddDict().SetString("SKAdNetworkIdentifier", "24t9a8vw3c.skadnetwork");
  207. skAry.AddDict().SetString("SKAdNetworkIdentifier", "3qy4746246.skadnetwork");
  208. skAry.AddDict().SetString("SKAdNetworkIdentifier", "3rd42ekr43.skadnetwork");
  209. skAry.AddDict().SetString("SKAdNetworkIdentifier", "3sh42y64q3.skadnetwork");
  210. skAry.AddDict().SetString("SKAdNetworkIdentifier", "523jb4fst2.skadnetwork");
  211. skAry.AddDict().SetString("SKAdNetworkIdentifier", "578prtvx9j.skadnetwork");
  212. skAry.AddDict().SetString("SKAdNetworkIdentifier", "5a6flpkh64.skadnetwork");
  213. skAry.AddDict().SetString("SKAdNetworkIdentifier", "5l3tpt7t6e.skadnetwork");
  214. skAry.AddDict().SetString("SKAdNetworkIdentifier", "7953jerfzd.skadnetwork");
  215. skAry.AddDict().SetString("SKAdNetworkIdentifier", "7rz58n8ntl.skadnetwork");
  216. skAry.AddDict().SetString("SKAdNetworkIdentifier", "97r2b46745.skadnetwork");
  217. skAry.AddDict().SetString("SKAdNetworkIdentifier", "9yg77x724h.skadnetwork");
  218. skAry.AddDict().SetString("SKAdNetworkIdentifier", "cg4yq2srnc.skadnetwork");
  219. skAry.AddDict().SetString("SKAdNetworkIdentifier", "f73kdq92p3.skadnetwork");
  220. skAry.AddDict().SetString("SKAdNetworkIdentifier", "gvmwg8q7h5.skadnetwork");
  221. skAry.AddDict().SetString("SKAdNetworkIdentifier", "klf5c3l5u5.skadnetwork");
  222. skAry.AddDict().SetString("SKAdNetworkIdentifier", "mls7yz5dvl.skadnetwork");
  223. skAry.AddDict().SetString("SKAdNetworkIdentifier", "mtkv5xtk9e.skadnetwork");
  224. skAry.AddDict().SetString("SKAdNetworkIdentifier", "n66cz3y3bx.skadnetwork");
  225. skAry.AddDict().SetString("SKAdNetworkIdentifier", "n9x2a789qt.skadnetwork");
  226. skAry.AddDict().SetString("SKAdNetworkIdentifier", "nzq8sh4pbs.skadnetwork");
  227. skAry.AddDict().SetString("SKAdNetworkIdentifier", "p78axxw29g.skadnetwork");
  228. skAry.AddDict().SetString("SKAdNetworkIdentifier", "ppxm28t8ap.skadnetwork");
  229. skAry.AddDict().SetString("SKAdNetworkIdentifier", "pu4na253f3.skadnetwork");
  230. skAry.AddDict().SetString("SKAdNetworkIdentifier", "u679fj5vs4.skadnetwork");
  231. skAry.AddDict().SetString("SKAdNetworkIdentifier", "uw77j35x4d.skadnetwork");
  232. skAry.AddDict().SetString("SKAdNetworkIdentifier", "v72qych5uu.skadnetwork");
  233. skAry.AddDict().SetString("SKAdNetworkIdentifier", "xy9t38ct57.skadnetwork");
  234. skAry.AddDict().SetString("SKAdNetworkIdentifier", "z4gj7hsk7h.skadnetwork");
  235. //AdColony
  236. skAry.AddDict().SetString("SKAdNetworkIdentifier", "4pfyvq9l8r.skadnetwork");
  237. skAry.AddDict().SetString("SKAdNetworkIdentifier", "yclnxrl5pm.skadnetwork");
  238. skAry.AddDict().SetString("SKAdNetworkIdentifier", "v72qych5uu.skadnetwork");
  239. skAry.AddDict().SetString("SKAdNetworkIdentifier", "tl55sbb4fm.skadnetwork");
  240. skAry.AddDict().SetString("SKAdNetworkIdentifier", "t38b2kh725.skadnetwork");
  241. skAry.AddDict().SetString("SKAdNetworkIdentifier", "prcb7njmu6.skadnetwork");
  242. skAry.AddDict().SetString("SKAdNetworkIdentifier", "ppxm28t8ap.skadnetwork");
  243. skAry.AddDict().SetString("SKAdNetworkIdentifier", "mlmmfzh3r3.skadnetwork");
  244. skAry.AddDict().SetString("SKAdNetworkIdentifier", "klf5c3l5u5.skadnetwork");
  245. skAry.AddDict().SetString("SKAdNetworkIdentifier", "hs6bdukanm.skadnetwork");
  246. skAry.AddDict().SetString("SKAdNetworkIdentifier", "c6k4g5qg8m.skadnetwork");
  247. skAry.AddDict().SetString("SKAdNetworkIdentifier", "9t245vhmpl.skadnetwork");
  248. skAry.AddDict().SetString("SKAdNetworkIdentifier", "9rd848q2bz.skadnetwork");
  249. skAry.AddDict().SetString("SKAdNetworkIdentifier", "8s468mfl3y.skadnetwork");
  250. skAry.AddDict().SetString("SKAdNetworkIdentifier", "7ug5zh24hu.skadnetwork");
  251. skAry.AddDict().SetString("SKAdNetworkIdentifier", "4fzdc2evr5.skadnetwork");
  252. skAry.AddDict().SetString("SKAdNetworkIdentifier", "4468km3ulz.skadnetwork");
  253. skAry.AddDict().SetString("SKAdNetworkIdentifier", "3rd42ekr43.skadnetwork");
  254. skAry.AddDict().SetString("SKAdNetworkIdentifier", "2u9pt9hc89.skadnetwork");
  255. skAry.AddDict().SetString("SKAdNetworkIdentifier", "m8dbw4sv7c.skadnetwork");
  256. skAry.AddDict().SetString("SKAdNetworkIdentifier", "7rz58n8ntl.skadnetwork");
  257. skAry.AddDict().SetString("SKAdNetworkIdentifier", "ejvt5qm6ak.skadnetwork");
  258. skAry.AddDict().SetString("SKAdNetworkIdentifier", "5lm9lj6jb7.skadnetwork");
  259. skAry.AddDict().SetString("SKAdNetworkIdentifier", "44jx6755aq.skadnetwork");
  260. skAry.AddDict().SetString("SKAdNetworkIdentifier", "mtkv5xtk9e.skadnetwork");
  261. skAry.AddDict().SetString("SKAdNetworkIdentifier", "6g9af3uyq4.skadnetwork");
  262. skAry.AddDict().SetString("SKAdNetworkIdentifier", "uw77j35x4d.skadnetwork");
  263. skAry.AddDict().SetString("SKAdNetworkIdentifier", "u679fj5vs4.skadnetwork");
  264. skAry.AddDict().SetString("SKAdNetworkIdentifier", "rx5hdcabgc.skadnetwork");
  265. skAry.AddDict().SetString("SKAdNetworkIdentifier", "g28c52eehv.skadnetwork");
  266. skAry.AddDict().SetString("SKAdNetworkIdentifier", "cg4yq2srnc.skadnetwork");
  267. skAry.AddDict().SetString("SKAdNetworkIdentifier", "9nlqeag3gk.skadnetwork");
  268. skAry.AddDict().SetString("SKAdNetworkIdentifier", "275upjj5gd.skadnetwork");
  269. skAry.AddDict().SetString("SKAdNetworkIdentifier", "wg4vff78zm.skadnetwork");
  270. skAry.AddDict().SetString("SKAdNetworkIdentifier", "qqp299437r.skadnetwork");
  271. skAry.AddDict().SetString("SKAdNetworkIdentifier", "kbmxgpxpgc.skadnetwork");
  272. skAry.AddDict().SetString("SKAdNetworkIdentifier", "294l99pt4k.skadnetwork");
  273. skAry.AddDict().SetString("SKAdNetworkIdentifier", "2fnua5tdw4.skadnetwork");
  274. skAry.AddDict().SetString("SKAdNetworkIdentifier", "ydx93a7ass.skadnetwork");
  275. skAry.AddDict().SetString("SKAdNetworkIdentifier", "523jb4fst2.skadnetwork");
  276. skAry.AddDict().SetString("SKAdNetworkIdentifier", "cj5566h2ga.skadnetwork");
  277. skAry.AddDict().SetString("SKAdNetworkIdentifier", "r45fhb6rf7.skadnetwork");
  278. skAry.AddDict().SetString("SKAdNetworkIdentifier", "g2y4y55b64.skadnetwork");
  279. skAry.AddDict().SetString("SKAdNetworkIdentifier", "wzmmz9fp6w.skadnetwork");
  280. skAry.AddDict().SetString("SKAdNetworkIdentifier", "n6fk4nfna4.skadnetwork");
  281. skAry.AddDict().SetString("SKAdNetworkIdentifier", "kbd757ywx3.skadnetwork");
  282. skAry.AddDict().SetString("SKAdNetworkIdentifier", "n9x2a789qt.skadnetwork");
  283. skAry.AddDict().SetString("SKAdNetworkIdentifier", "pwa73g5rt2.skadnetwork");
  284. skAry.AddDict().SetString("SKAdNetworkIdentifier", "74b6s63p6l.skadnetwork");
  285. skAry.AddDict().SetString("SKAdNetworkIdentifier", "44n7hlldy6.skadnetwork");
  286. skAry.AddDict().SetString("SKAdNetworkIdentifier", "5l3tpt7t6e.skadnetwork");
  287. skAry.AddDict().SetString("SKAdNetworkIdentifier", "e5fvkxwrpn.skadnetwork");
  288. skAry.AddDict().SetString("SKAdNetworkIdentifier", "gta9lk7p23.skadnetwork");
  289. skAry.AddDict().SetString("SKAdNetworkIdentifier", "84993kbrcf.skadnetwork");
  290. skAry.AddDict().SetString("SKAdNetworkIdentifier", "pwdxu55a5a.skadnetwork");
  291. skAry.AddDict().SetString("SKAdNetworkIdentifier", "6964rsfnh4.skadnetwork");
  292. skAry.AddDict().SetString("SKAdNetworkIdentifier", "a7xqa6mtl2.skadnetwork");
  293. File.WriteAllText(plistPath, plist.WriteToString());
  294. }
  295. }
  296. #endif