我想.xcconfig
为我的 Xcode 项目使用相同的文件,以便我在所有项目中自动拥有相同的警告设置。我很想创建例如一个Cocoapod
我包含的Podfile
,然后将配置文件复制到我的 Xcode 项目中或从我的 Xcode 项目中引用它们。
有没有办法做到这一点?
要求
据我了解,您的要求是:
潜在的解决方案
据我所知,不可能从 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 帐户上找到。
希望有帮助。
您可以创建一个自定义项目模板,并将一个以___FILEBASENAME___.xcconfig
所需设置命名的文件放入您的.xctemplate
包中。然后您可以在创建新项目时选择此模板,它将自动具有您指定的默认设置。