【问题标题】:Xcode / mod_pbxproj: How to set ENABLE_BITCODEXcode / mod_pbxproj:如何设置 ENABLE_BITCODE
【发布时间】:2016-01-02 11:01:10
【问题描述】:

我正在尝试使用 mod_pbxproj.py 修改 Unity3D 生成的 Xcode 项目,该项目由 PostProcessBuild 属性触发的 python 脚本调用。由于New warnings in iOS 9 中描述的问题,我需要设置 ENABLE_BITCODE = NO

我是一名 Python 新手,对 Xcode PBX 内部结构了解不多。我尝试了很多电话,例如

    project.add_flags ('ENABLE_BITCODE=NO')

或数组、字典等变体。我尝试的一切要么没有完成工作,要么在系统日志中抛出错误。最后,我在 mod_pbxproj.py 中得到了一个补丁,它可以满足我的需求:

def add_other_buildsetting(self, flag, value):
    build_configs = [b for b in self.objects.values() if b.get('isa') == 'XCBuildConfiguration']
    for b in build_configs:
        if b.add_other_buildsetting(flag, value):
            self.modified = True

def add_other_buildsetting(self, flag, value):
    modified = False
    base = 'buildSettings'
    key = flag

    if not self.has_key(base):
        self[base] = PBXDict()
    self[base][key] = value                             
    modified = True
    return modified

现在调用project.add_other_buildsetting ('ENABLE_BITCODE', 'NO') 几乎可以正常工作。我在 pbxproj 文件中有 5 个条目,而不是在 Xcode 中手动设置选项时注意到的 2 个更改。无论如何,它似乎到目前为止工作。

但是:修补一个众所周知的软件感觉很奇怪,我无法相信不可能在 buildSettings 的根目录中添加(或修改)选项 em> 树使用标准的 mod_pbxproj.py。

如何做到这一点?

编辑: My fork of mod_pbxproj

【问题讨论】:

  • 我也想不通。感谢您的补丁,到目前为止似乎运行良好。

标签: python xcode unity3d bitcode unity3d-editor


【解决方案1】:

只要你有最新的mod_pbxproj.py 就可以了:

project.add_flags({'ENABLE_BITCODE':'NO'})

您可以从这里获取 mod_pbxproj.py:https://github.com/kronenthaler/mod-pbxproj/blob/master/mod_pbxproj/mod_pbxproj.py

【讨论】:

    猜你喜欢
    • 2015-10-12
    • 1970-01-01
    • 2022-11-11
    • 1970-01-01
    • 2016-01-29
    • 2022-12-21
    • 1970-01-01
    • 2014-07-15
    • 1970-01-01
    相关资源
    最近更新 更多