PBXProject.AddFrameworkToProject
Declaration
public void AddFrameworkToProject(string targetGuid, string framework, bool weak);Параметры
| Параметр | Описание |
|---|---|
| targetGuid | GUID конфигурации сборки, возвращенной TargetGuidByName. |
| рамочная программа | Имя фрейма. Расширение имени файла должно быть .framework. |
| слабый | True, если фреймворк необязателен, например, если он слабо связан, и false, если фреймворк необходим. |
Описание
Добавление зависимости системной платформы для указанного конечного объекта.
Функция предполагает, что системные фреймворки находятся в папке System/Library/Frameworksв дереве исходных кодов SDK. Фреймворк добавляется в логическую папку Frameworks в проекте.
using System.IO; using UnityEngine; using UnityEditor; using UnityEditor.iOS.Xcode; using UnityEditor.Callbacks; using System.Collections;
public class Sample_AddFrameworkToProject {
[PostProcessBuild] public static void OnPostprocessBuild(BuildTarget buildTarget, string pathToBuiltProject) {
// Stop processing if build target is not iOS if (buildTarget != BuildTarget.iOS) return;
// Initialize PBXProject string projectPath = PBXProject.GetPBXProjectPath(pathToBuiltProject); PBXProject pbxProject = new PBXProject(); pbxProject.ReadFromFile(projectPath);
// Get GUIDs for UnityFramework and Main targets string unityFrameworkTargetGuid = pbxProject.GetUnityFrameworkTargetGuid(); string mainTargetGuid = pbxProject.GetUnityMainTargetGuid();
// Add a required framework to UnityFramework target pbxProject.AddFrameworkToProject(unityFrameworkTargetGuid, "CoreBluetooth.framework", false);
// Add an optional framework to main target pbxProject.AddFrameworkToProject(mainTargetGuid, "MapKit.framework", true);
// Apply changes to the pbxproj file pbxProject.WriteToFile(projectPath); } }