Я часами гуглил и пробовал все варианты этого кода, которые только мог придумать, но мне не удалось автоматически добавить возможность входа в Apple.
Я пробовал примеры из этого проекта Github: https://github.com/lupidan/apple-signin-unity/blob/master/AppleAuth/Editor/ProjectCapabilityManagerExtension.cs
Я следил за этими сообщениями: https://forum.unity.com/threads/how-to-put-ios-entitlements-file-in-a-unity-project.442277/
https://answers.unity.com/questions/1224123/enable-push-notification-in-xcode-project-by-defau.html
Файл прав без этой возможности выглядит так:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
</dict>
</plist>
И один с возможностью выглядит так:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.developer.applesignin</key>
<array>
<string>Default</string>
</array>
</dict>
</plist>
Я попытался провести оценку с помощью этого кода:
proj.AddBuildProperty(target, "SystemCapabilities", "{com.apple.developer.applesignin = [Default];}");
proj.AddCapability(target, PBXCapabilityType.SignInWithApple, relativeDestination, true);
Но ни один из них не изменяет файл прав и не добавляет возможности.
Я использовал ProjectCapabilityManager следующим образом:
ProjectCapabilityManager capabilityManager = new ProjectCapabilityManager(buildPath, filename, targetName);
capabilityManager.AddSignInWithApple();
capabilityManager.WriteToFile();
Но я получаю сообщение об ошибке в консоли о том, что доступ к buildPath запрещен (который был предоставлен OnPostProcessBuild())
Мне действительно не помешала бы помощь.