Unity 6.3
0 онлайн 57 гостей 3 в системе
Вход

PBXProjectExtensions.AddAppExtension

Declaration

public static string AddAppExtension(iOS.Xcode.PBXProject proj, string mainTargetGuid, string name, string bundleId, string infoPlistPath);

Параметры

Параметр Описание
проект Неявный параметр this для метода расширения.
mainTargetGuid GUID главного объекта, с которым будет связано приложение.
имя Имя расширения приложения.
bundleId пакет ID расширения приложения. В пакет ID должен быть включен пакет родительского приложения ID.;
infoPlistPath Путь к документу расширения приложения Info.plist.

Возвращаемое значение

строка 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) {

Directory.CreateDirectory(buildPath + "/appext");

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); } }