1

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

有没有办法做到这一点?

4

2 回答 2

2

要求

据我了解,您的要求是:

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

潜在的解决方案

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

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

Xcconfig

Xcconfig 可以下载和配置任何 Xcode 项目文件上的 xcconfig 文件。AConfigfile指定配置文件的来源(可选)以及如何将这些 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然后xcconfig在你的项目目录中运行Configfile. 源代码可在我的 GitHub 帐户上找到。

希望有帮助。

于 2016-07-16T08:53:08.510 回答
0

您可以创建一个自定义项目模板,并将一个以___FILEBASENAME___.xcconfig所需设置命名的文件放入您的.xctemplate包中。然后您可以在创建新项目时选择此模板,它将自动具有您指定的默认设置。

于 2016-07-14T14:26:44.273 回答