问题
- 我正开发iOS平台的游戏
- 我想把Unity导出的Xcode项目默认设置为:ENABLE_BITCODE = NO
- 我仍然需要使用几个不支持iOS Bitcode的第三方库。
原因
在Unity 5.3.1p1中,会默认启用对Bitcode的支持。
解决方案
使用UnityEditor.iOS.Xcode.PBXProject辅助类可以禁用对Bitcode的支持。
文档如下:
源码如下:
改变ENABLE_BITCODE属性的示例代码如下:
using System.Collections.Generic; using UnityEngine; using UnityEditor; using UnityEditor.Callbacks; using UnityEditor.iOS.Xcode; public static class MyBuildPostprocess { [PostProcessBuild(999)] public static void OnPostProcessBuild( BuildTarget buildTarget, string path) { if(buildTarget == BuildTarget.iOS) { string projectPath = path + "/Unity-iPhone.xcodeproj/project.pbxproj"; PBXProject pbxProject = new PBXProject(); pbxProject.ReadFromFile(projectPath); string target = pbxProject.TargetGuidByName("Unity-iPhone"); pbxProject.SetBuildProperty(target, "ENABLE_BITCODE", "NO"); pbxProject.WriteToFile (projectPath); } } }
更多信息
不建议禁用Bitcode,但也存在难免需要禁用的情况。想了解更多启用Bitcode的益处,请查阅这里。
本文适用于Unity 5.3.1p1及更高版本