원래 이렇게 수동으로 해줬었다.
알고보니 (역시나) 이 값들 포함, 이런저런 세팅을 유니티에서 post process build로 자동화할 수 있다 !!
오후 동안 잠시 삽질 후, 모든 설정이 xCode에서 잘 반영된 것을 확인한 스크립트 공유:
아래 코드를 Editor 폴더에 넣어주면 된다.
using System.IO;
using UnityEditor;
using UnityEditor.Callbacks;
using UnityEditor.iOS.Xcode;
namespace PostProcessBuild.Editor
{
public static class BuildPostProcessor
{
private const string BuildPathRoot = "/Users/_____/Build";
private const string ProjectPath = "/Users/_____/Build/Unity-iPhone.xcodeproj/project.pbxproj";
[PostProcessBuild(2)]
public static void OnPostProcessBuild(BuildTarget buildTarget, string path)
{
if (buildTarget == BuildTarget.iOS)
PostProcessBuildForIOS();
}
private static void PostProcessBuildForIOS()
{
ModifyPlist();
ModifyFrameworksSettings();
AddCapabilities();
}
private static void ModifyPlist()
{
var plistPath = BuildPathRoot + "/Info.plist";
var plist = new PlistDocument();
plist.ReadFromFile(plistPath);
var rootDict = plist.root;
rootDict.SetBoolean("ITSAppUsesNonExemptEncryption", false);
rootDict.SetString("LSApplicationCategoryType", "_____"); // ex. public.app-category.puzzle-games
rootDict.SetString("CFBundleDisplayName", "_____");
File.WriteAllText(plistPath, plist.WriteToString());
}
private static void AddCapabilities()
{
var proj = new PBXProject();
proj.ReadFromString(File.ReadAllText(ProjectPath));
var projCapability = new ProjectCapabilityManager(ProjectPath, "Unity-iPhone/com._____._____.entitlements", "Unity-iPhone");
projCapability.AddGameCenter();
projCapability.AddInAppPurchase();
projCapability.AddPushNotifications(true);
projCapability.WriteToFile();
}
private static void ModifyFrameworksSettings()
{
var project = new PBXProject();
project.ReadFromFile(ProjectPath);
var unityFrameworkTargetGuid = project.GetUnityFrameworkTargetGuid();
project.SetBuildProperty(unityFrameworkTargetGuid, "ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES", "NO");
project.WriteToFile(ProjectPath);
}
}
}
'문제해결' 카테고리의 다른 글
앱스토어 커넥트 미국 세금 정보 U.S. Form W-8BEN (0) | 2024.08.06 |
---|---|
코루틴 실행 안 되는 이슈 (0) | 2024.08.06 |
UI 크기에 Sprite Renderer 위치 맞추기 (1) | 2024.07.22 |
[오류 해결] Git LFS Migrate 이후 .fbx 파일 안 보이는 현상 (0) | 2024.06.09 |
[오류 해결] XCode Undefined symbol _firautherroruserinfoupdatedcredentialkey (0) | 2024.02.27 |