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