2016-07-05 35 views
1

我想爲我的Xcode項目使用相同的.xcconfig文件,這樣我就可以在所有項目中自動使用相同的警告設置。我很想創建例如一個Cocoapod,我通過Podfile包括,然後複製配置文件或從我的Xcode項目中引用它們。Xcode:自動添加xcconfig文件

有沒有辦法做到這一點?

回答

0

您可以create a custom project template並將名爲___FILEBASENAME___.xcconfig的文件與您的.xctemplate包中的所需設置相關聯。然後,您可以在創建新項目時選擇此模板,並且它將自動具有您指定的默認設置。

0

要求

據我理解你的要求是:

  • 下載xcconfig文件,如的CocoaPods,GitHub的項目上Xcodeproj
  • 設置xcconfig文件爲每個配置和目標水平

潛在解決方案

據我所知,不可能從Cocoapod運行腳本來操縱包括Xcode項目。幸運的是,來自Cocoapods的人提供了一個名爲xcodeproj的Ruby寶石來操縱Xcode項目和工作空間,包括構建設置。

我一直在使用這個gem來開發一個工具(phoenx)來自動生成基於元數據文件的Xcode項目和工作區(很像Podfiles)。我已將相關的代碼部分提取到一個名爲xcconfig的新紅寶石寶石中。

Xcconfig

Xcconfig可以下載並在任何Xcode項目文件中配置xcconfig文件。 A Configfile指定配置文件的來源(可選)以及如何將這些xcconfig文件應用於您的項目。如果文件不是項目的一部分,它將添加它們(與子文件夾的組一起)並相應地配置項目。如果更改全局存儲庫中的xcconfig文件,只需再次運行xcconfig即可同步存儲庫。

Configfile應與文件xcodeproj位於同一個文件夾中(就像Podfile一樣)。

# Specify where to download the config files (optional) 
source "[email protected]: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 

你可以將這個寶石與椰子樹整合或單獨使用它。如果您想嘗試一下,可以使用sudo gem install xcconfig進行安裝,然後在Configfile的項目目錄中運行xcconfig。我的GitHub帳戶上提供了sources

希望有所幫助。