Unity XCode 프로젝트를 내보낼 때 자동으로 프로젝트 설정 추가 의존도 수정
2148 단어 Unity3D 개발
#if UNITY_IOS || UNITY_EDITOR
// ios xcode
[PostProcessBuild(999)]
public static void OnPostprocessBuild(BuildTarget BuildTarget, string path)
{
if (BuildTarget == BuildTarget.iOS)
{
string projPath = PBXProject.GetPBXProjectPath(path);
PBXProject proj = new PBXProject();
proj.ReadFromString(File.ReadAllText(projPath));
//
string target = proj.TargetGuidByName(PBXProject.GetUnityTargetName());
//
proj.SetBuildProperty(target, "ENABLE_BITCODE", "NO");
//
// sdk
proj.AddFrameworkToProject (target, "Security.framework", false);
proj.AddFrameworkToProject (target, "JavaScriptCore.framework", false);
proj.AddFrameworkToProject (target, "libc++.1.tbd", false);
proj.AddFrameworkToProject (target, "libz.1.tbd", false);
//
// proj.SetBuildProperty (target, "CODE_SIGN_IDENTITY", "iPhone Distribution: _______________");
// proj.SetBuildProperty (target, "PROVISIONING_PROFILE", "********-****-****-****-************");
//
proj.WriteToFile (projPath);
// plist
string plistPath = path + "/Info.plist";
PlistDocument plist = new PlistDocument();
plist.ReadFromString(File.ReadAllText(plistPath));
PlistElementDict rootDict = plist.root;
// ,iOS10
rootDict.SetString("NSContactsUsageDescription", " ?");
// plist
plist.WriteToFile (plistPath);
}
}
#endif
위의 코드를 다른 편집기 확장 코드와 같이 Editor에서 계승된 클래스에 써서 Editor 디렉터리 아래에 놓으면 됩니다.
Unity는 OnPostprocessBuild 함수를 제공하여 컴파일링이 끝난 후에 수정할 수 있도록 합니다.
Unity의 최신 버전은 Xcode 프로젝트를 직접 수정하는 것을 지원합니다. iOS의 모듈을 설치해야 대응하는 클래스가 있습니다. 사실 이 두 가지 클래스는 일부 텍스트 작업입니다. 만약에 초기의 Unity 버전에 대응하는 함수가 없으면 Unity의 공식 소스 오픈 프로젝트에서 찾을 수 있습니다.C# 또는 python 스크립트 해석을 직접 쓸 수 없는 경우에도 좋습니다.
상기 코드는 의존 라이브러리 추가, 프로젝트 속성 설정,plist 수정 등 작업을 수행했다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Unity 면접 요약 - 기능 실현1. 임무를 받은 후 임무를 완성하기까지 모두 몇 개의 과정이 있는데 각 과정은 무엇을 주의해야 합니까? modle 및 control 레이어 가방 관리 클래스를 하나 더 만들고 슬롯 클래스의 목록을 신청하여 초기화합...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.