以前,在Unity生成Xcode工程之后,都是手動添加需要的庫。如果是工程小花不了太多時間,但是如果項目很大,很可能折騰一次就要十來分鍾,而且是每一次導出都需要手動添加,嚴重影響了工作效率,最近想了一下看有沒有導出自動添加庫的方法。於是在網上找到了方法:
using UnityEngine;
using System.Collections;
using UnityEditor.Callbacks;
using UnityEditor;
using UnityEditor.iOS.Xcode;
using System.IO;
/// <summary>
/// Unity3d 打包Xcode工程自動添加framework
/// </summary>
public class PBXProjectConfig : MonoBehaviour {
//該屬性是在build完成后,被調用的callback
[PostProcessBuildAttribute(0)]
public static void OnPostprocessBuild(BuildTarget buildTarget, string pathToBuiltProject)
{
// BuildTarget需為iOS
if (buildTarget != BuildTarget.iOS)
return;
// 初始化
string projPath = PBXProject.GetPBXProjectPath (pathToBuiltProject);
PBXProject pbxProject = new PBXProject();
pbxProject.ReadFromString(File.ReadAllText(projPath));
string targetGuid = pbxProject.TargetGuidByName("Unity-iPhone");
// 添加framework
pbxProject.AddFrameworkToProject(targetGuid, "AssetsLibrary.framework", false);
pbxProject.AddFrameworkToProject(targetGuid, "AdSupport.framework", false);
// 應用修改
File.WriteAllText(projPath, pbxProject.WriteToString());
}
}
