Объявление
public static string AddAppExtension(iOS.Xcode.PBXProject proj, string mainTargetGuid, string name, string bundleId, string infoPlistPath);Параметры
proj | Неявный параметр this для метода расширения. |
mainTargetGuid | GUID основной цели, с которой нужно связать приложение. |
name | Имя расширения приложения. |
bundleId | Идентификатор пакета расширения приложения. Идентификатор пакета должен начинаться с идентификатора пакета родительского приложения. |
infoPlistPath | Путь к документу Info.plist расширения приложения. |
Возвращает
string GUID новой цели.
Описание
Создает ссылку на приложение.
using UnityEditor;
using UnityEngine;
using UnityEditor.iOS.Xcode;
using UnityEditor.iOS.Xcode.Extensions;
using System.IO;
using UnityEditor.Callbacks;
public class ScriptBatch : MonoBehaviour
{
[PostProcessBuild]
private static void PostProcessBuild_iOS(BuildTarget target, string buildPath)
{
File.Copy("Assets/extension/TodayViewController.h", buildPath + "/appext/TodayViewController.h");
File.Copy("Assets/extension/TodayViewController.m", buildPath + "/appext/TodayViewController.m");
PBXProject proj = new PBXProject();
string projPath = PBXProject.GetPBXProjectPath(buildPath);
proj.ReadFromFile(projPath);
string targetGuid = proj.GetUnityFrameworkTargetGuid();
string newTarget = proj.AddAppExtension(targetGuid, "appext", "com.unity3d.product.appext", "appext/Info.plist");
proj.AddFileToBuild(newTarget, proj.AddFile(buildPath + "/appext/TodayViewController.h", "appext/TodayViewController.h"));
proj.AddFileToBuild(newTarget, proj.AddFile(buildPath + "/appext/TodayViewController.m", "appext/TodayViewController.m"));
proj.AddFrameworkToProject(newTarget, "NotificationCenter.framework", true);
proj.WriteToFile(projPath);
}
}