Mac Unity3D 打包

使用到的工具和类库:

XUPorter:  https://github.com/onevcat/XUPorter

Mac-VS:

https://docs.microsoft.com/zh-cn/visualstudio/mac/setup-vsmac-tools-unity

http://www.monodevelop.com/download/#fndtn-download-mac


打包后的类库修改:

using UnityEngine;
using System.Collections;
using UnityEditor.Callbacks;
using UnityEditor;
using UnityEditor.iOS.Xcode;
using System.IO;

public class MyXcodeProject : MonoBehaviour {


	[PostProcessBuildAttribute(0)]
	public static void OnPostprocessBuild(BuildTarget buildTarget, string pathToBuiltProject)
	{
		// BuildTarget需为iOS
		if (buildTarget != BuildTarget.iOS)return;

		// 初始化
		var projectPath = pathToBuiltProject + "/Unity-iPhone.xcodeproj/project.pbxproj";
		PBXProject pbxProject = new PBXProject();
		pbxProject.ReadFromFile(projectPath);
		string targetGuid = pbxProject.TargetGuidByName("Unity-iPhone");

		// 添加flag
		//pbxProject.AddBuildProperty(targetGuid, "OTHER_LDFLAGS", "-ObjC");
		// 关闭Bitcode
		//pbxProject.SetBuildProperty(targetGuid, "ENABLE_BITCODE", "NO");

		// 添加framwrok
		pbxProject.AddFrameworkToProject(targetGuid, "Security.framework", false);
		pbxProject.AddFrameworkToProject(targetGuid, "CoreTelephony.framework", false);

		//添加lib
		AddLibToProject(pbxProject, targetGuid, "libstdc++.6.0.9.tbd");

		// 应用修改
		File.WriteAllText(projectPath, pbxProject.WriteToString());
	}

	static void AddLibToProject(PBXProject inst, string targetGuid, string lib)
	{
		string fileGuid = inst.AddFile("usr/lib/" + lib, "Frameworks/" + lib, PBXSourceTree.Sdk);
		inst.AddFileToBuild(targetGuid, fileGuid);
	}
}



猜你喜欢

转载自blog.csdn.net/weixinyi21cn/article/details/79155166