PBXProject.ContainsFramework
Declaration
public bool ContainsFramework(string targetGuid, string framework);Параметры
| Параметр | Описание |
|---|---|
| targetGuid | GUID объекта, например, возвращаемый TargetGuidByName. |
| рамочная программа | Имя фрейма. Расширение имени файла должно быть .framework. |
Возвращаемое значение
логическое Возвращает true, если заданный фреймворк является зависимостью от заданного объекта.
Описание
Проверяет, является ли заданная системная структура зависимостью от цели.
Функция предполагает, что системные фреймворки находятся в System/Library/Frameworks в дереве исходных кодов SDK.
using UnityEngine; using UnityEditor; using System.IO; using UnityEditor.Callbacks; using UnityEditor.iOS.Xcode;
public class Sample_ContainsFramework { [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 GUID for Main target string mainTargetGuid = pbxProject.GetUnityMainTargetGuid();
// Check if the target contains the specified framework as a dependency string frameworkName = "ExampleFramework.framework"; if (pbxProject.ContainsFramework(mainTargetGuid, frameworkName)) { Debug.Log("Framework " + frameworkName + " was found."); // Continue your logic } else { Debug.Log("Framework " + frameworkName + " was not found."); }
// If any changes were made to the PBXProject instance, apply changes to the pbxproj file pbxProject.WriteToFile(projectPath); } }