ToB企服应用市场:ToB评测及商务社交产业平台

标题: Unity 导出 xcode 工程 并给 Info.plist 文件添加字段 [打印本页]

作者: 金歌    时间: 2024-12-1 02:26
标题: Unity 导出 xcode 工程 并给 Info.plist 文件添加字段
Unity 导出 xcode 工程 并给 Info.plist 文件添加字段
在 Editor 文件夹下新建 xxx.cs 脚本
实现静态方法
  1.     [PostProcessBuild]
  2.     public static void OnPostprocessBuild(BuildTarget target, string pathToBuiltProject)
  3.     {
  4.         // Unity 导出 Xcode 工程自动调用这个方法
  5.     }
复制代码
例子 一
  1. using UnityEngine;
  2. using System.IO;
  3. using UnityEditor;
  4. using UnityEditor.Callbacks;
  5. using UnityEditor.iOS.Xcode;
  6. public class AFUpdatePlist
  7. {
  8.     // 在导出 xcode 工程后调用此方法
  9.     [PostProcessBuild]
  10.     public static void OnPostprocessBuild(BuildTarget target, string pathToBuiltProject)
  11.     {
  12.         if (target == BuildTarget.iOS)
  13.         {
  14.             // pathToBuiltProject 是导出的 xcode 工程目录
  15.             // 拼接 Info.plist 文件目录
  16.             string plistPath = pathToBuiltProject + "/Info.plist";
  17.             // 使用 Unity 提供的 plist 文件读取工具解析文件
  18.             PlistDocument plist = new PlistDocument();
  19.             plist.ReadFromString(File.ReadAllText(plistPath));
  20.             // 获取根节点
  21.             PlistElementDict rootDict = plist.root;
  22.             // 设置一个 bool 类型的键值对
  23.             rootDict.SetBoolean("AppsFlyerShouldSwizzle", true);
  24.             // 设置一个字符串类型的键值对
  25.             rootDict.SetString("NSAdvertisingAttributionReportEndpoint", "https://appsflyer-skadnetwork.com/");
  26.             // 修改完毕,将内容写入到文件
  27.             File.WriteAllText(plistPath, plist.WriteToString());
  28.             Debug.Log("Info.plist updated with AppsFlyerShouldSwizzle");
  29.         }
  30.     }
  31. }
复制代码
例子 二
  1. using UnityEngine;
  2. using System.IO;
  3. using UnityEditor;
  4. using UnityEditor.Callbacks;
  5. using UnityEditor.iOS.Xcode;
  6. public class ModifyIOSInfoPlist : Editor
  7. {
  8.     [PostProcessBuild]
  9.     public static void OnPostprocessBuild(BuildTarget target, string pathToBuiltProject)
  10.     {
  11.         Debug.Log("ModifyIOSInfoPlist");
  12.         if (target == BuildTarget.iOS)
  13.         {
  14.             Debug.Log("ModifyIOSInfoPlist Info.plist");
  15.             string plistPath = pathToBuiltProject + "/Info.plist";
  16.             PlistDocument plist = new PlistDocument();
  17.             //plist.ReadFromString(File.ReadAllText(plistPath));
  18.             plist.ReadFromFile(plistPath);
  19.             PlistElementDict rootDict = plist.root;
  20.             rootDict.SetString("LSMinimumSystemVersion", "13.0");
  21.             File.WriteAllText(plistPath, plist.WriteToString());
  22.             Debug.Log("Info.plist updated with LSMinimumSystemVersion");
  23.         }
  24.     }
  25. }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4