unity3d 打包Xcode工程自动添加framework

以前,在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());

}

}

posted @ 2017-06-06 14:04  laugher  阅读(4077)  评论(0编辑  收藏  举报