【问题标题】:Removing -ObjC flag from cordova/phonegap builds从 cordova/phonegap 构建中删除 -ObjC 标志
【发布时间】:2015-01-17 01:00:30
【问题描述】:

有没有办法在 CLI 构建步骤中停用 xcode 构建设置 > 链接 > 其他链接器标志中的 -ObjC 标志?

拥有此标志会导致链接错误。我已经能够手动删除它并通过 xcode 构建,但是这是使用 grunt phonegap 插件(包装 phonegap cli)的自动构建过程的一部分。有什么方法可以从 cli 控制链接器标志?

【问题讨论】:

    标签: ios xcode cordova


    【解决方案1】:

    在深入了解Cordova CLI internals 之后,我发现有可能向下游传递的任何参数如下(从第 141 行开始)

    var unparsedArgs = [];
    var parseStopperIdx = args.argv.original.indexOf('--');
    if (parseStopperIdx != -1) {
      unparsedArgs = args.argv.original.slice(parseStopperIdx + 1);
    }
    

    如果我正确理解这样做的目的是允许这样的使用,并且可以添加您希望构建的任何参数。

    现在,由于我对iOS或Objective-C一无所知,我无法告诉你要传递哪个参数来防止这种情况发生,但快速谷歌搜索发现了一个 -all_load 可能是正确的。

    所以你可以将它与类似的东西一起使用

    cordova build ios ---all_load
    

    此外,如果存在设置为 false 的选项并因此阻止它的使用,您可以执行类似的操作

    cordova build ios ---ObjC=false
    

    但我对此表示怀疑。

    【讨论】:

    • 谢谢 - 我会调查的。我还遇到了一些对 xcconfig 文件的引用,这些文件显然可用于配置构建面板中的任何内容。我只需要找出如何将它们集成到构建任务中
    • @hellosmithy:再说一次,如果没有这方面的任何专业知识,我想 xcconfig 文件是用于 XCode 的,因此在使用 CLI 实用程序时不会被考虑在内。但请不要只相信我这种方式。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-14
    • 1970-01-01
    • 2014-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多