【问题标题】:Xcode: automatically add xcconfig filesXcode:自动添加 xcconfig 文件
【发布时间】:2016-07-05 10:54:31
【问题描述】:

我想为我的 Xcode 项目使用相同的 .xcconfig 文件,以便我在所有项目中自动拥有相同的警告设置。我很想创造例如我通过Podfile 包含一个Cocoapod,然后将配置文件复制过来或从我的Xcode 项目中引用它们。

有没有办法做到这一点?

【问题讨论】:

    标签: ios xcode xcconfig


    【解决方案1】:

    要求

    据我了解,您的要求是:

    • 下载 xcconfig 文件,例如 Cocoapods、GitHub
    • 在 Xcodeproj 上为项目和目标级别的每个配置设置 xcconfig 文件

    可能的解决方案

    据我所知,不可能从 Cocoapod 运行脚本来操作包含 Xcode 的项目。幸运的是,来自 Cocoapods 的人提供了一个名为 xcodeproj 的 Ruby gem 来操作 Xcode 项目和工作区,包括构建设置。

    我一直在使用这个 gem 开发一个工具 (phoenx) 来自动生成基于元数据文件(很像 Podfiles)的 Xcode 项目和工作区。我已将相关代码部分提取到一个名为 xcconfig 的新 ruby​​ gem 中。

    Xcconfig

    Xcconfig 可以下载和配置任何 Xcode 项目文件上的 xcconfig 文件。 Configfile 指定配置文件的来源(可选)以及如何将这些 xcconfig 文件应用到您的项目。如果文件不是项目的一部分,它将添加它们(连同子文件夹的组)并相应地配置项目。如果您更改全局存储库中的 xcconfig 文件,您只需再次运行 xcconfig 即可同步您的存储库。

    Configfile 应与您的 xcodeproj 文件位于同一文件夹中(就像 Podfile 一样)。

    # Specify where to download the config files (optional)
    source "git@github.com:xyz/Configuration"
    
    # Specify the name of the project, e.g., MyProject if your project file is MyProject.xcodeproj
    Project.new "MyProject" do |project|
    
        # Specify xcconfig files for each configuration on project level (paths are relative t
        project.config_files["Release"] = "Configuration/project_release.xcconfig"
        project.config_files["Debug"] = "Configuration/project_debug.xcconfig"
    
        # Specify target and xcconfig files for each configuration
        project.target "test" do |target|
    
            target.config_files["Debug"] = "Configuration/debug.xcconfig"
    
        end
    
    end
    

    您可以将此 gem 与 cocoapods 集成或单独使用。如果您想尝试一下,可以使用sudo gem install xcconfig 安装它,然后使用Configfile 在项目目录中运行xcconfigsources 可以在我的 GitHub 帐户上找到。

    希望对您有所帮助。

    【讨论】:

      【解决方案2】:

      您可以create a custom project template 并将具有所需设置的名为___FILEBASENAME___.xcconfig 的文件放入您的.xctemplate 捆绑包中。然后您可以在创建新项目时选择此模板,它将自动具有您指定的默认设置。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-09-06
        • 2011-02-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多