关注

如何禁用项目对Bitcode的支持?

问题

  • 我正开发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及更高版本

这篇文章有帮助吗?
2 人中有 2 人觉得有帮助
还有其它问题?提交请求

0 评论

登录写评论。