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

PBXProject.AddCapability

Declaration

public bool AddCapability(string targetGuid, iOS.Xcode.PBXCapabilityType capability, string entitlementsFilePath, bool addOptionalFramework);

Параметры

Параметр Описание
targetGuid GUID объекта, например, возвращаемый GetUnityFrameworkTargetGuid.
способность Способность обеспечивать.
entitlementsFilePath Путь к файлу прав, который будет использоваться для этой возможности. Информацию о содержимом файлов прав можно найти в Документация Apple
addOptionalFramework Установите значение true, чтобы указать, что эта возможность требует дополнительных платформ. Установите значение false, если дополнительные платформы не требуются.

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

логическое True, если возможность была успешно добавлена.

Описание

Добавляет в проект Xcode целевую функцию.

Некоторые возможности требуют дополнительной настройки в Xcode. Для большего контроля над конкретными настройками возможности используйте команду ProjectCapabilityManager class.

using System.Collections;
using System.Collections.Generic;
using System.IO;
using UnityEngine;
using UnityEditor;
using UnityEditor.Callbacks;
using UnityEditor.iOS.Xcode;

public class Sample_AddCapability { [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 mainTargetGuid = pbxProject.GetUnityMainTargetGuid(); string unityFrameworkTargetGuid = pbxProject.GetUnityFrameworkTargetGuid();

// Create an entitlements file for your capability string entitlementsFileName = "Example.entitlements";

PlistDocument plistDocument = new PlistDocument(); plistDocument.Create();

PlistElementDict rootDict = plistDocument.root; rootDict.SetString("com.apple.developer.applesignin", "Default");

plistDocument.WriteToFile(Path.Combine(pathToBuiltProject, entitlementsFileName));

// Add 'Sign in with Apple' capability to the proejct with the entitlements file specified pbxProject.AddCapability(mainTargetGuid, PBXCapabilityType.SignInWithApple, entitlementsFileName);

// Apply changes to the pbxproj file pbxProject.WriteToFile(projectPath); }

}