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 수정 등 작업을 수행했다.

좋은 웹페이지 즐겨찾기