我正在使用IDL,它會自動爲我的xcode項目生成源文件。有誰知道我如何自動將生成的文件添加到項目中?目前我必須從項目中刪除當前文件並添加新文件。這真的很煩人。自動將生成的源文件添加到xcode項目
使用文件夾引用適用於頭文件,但xcode不希望將文件夾引用中的任何文件識別爲源文件。有沒有人找到解決這個問題的方法?
我正在使用IDL,它會自動爲我的xcode項目生成源文件。有誰知道我如何自動將生成的文件添加到項目中?目前我必須從項目中刪除當前文件並添加新文件。這真的很煩人。自動將生成的源文件添加到xcode項目
使用文件夾引用適用於頭文件,但xcode不希望將文件夾引用中的任何文件識別爲源文件。有沒有人找到解決這個問題的方法?
我也花了幾天時間爲這個問題寫了一個解決方案。 這是一個ruby腳本,您可以將其作爲運行腳本構建階段添加到項目目標中。這是用XCode 3.2.4和ruby 1.8.7測試的。
爲此,您需要安裝rb-appscript ruby gem。 (例如:sudo的創業板安裝RB-appscript)
幾乎沒有設置要做到:
下面是腳本:
require 'rubygems'
require 'appscript'
target_names = ['MinitSample'] # Put your target names here
group_name = 'objc' # Name of Xcode project group where to add the generated files
project_name = ENV["PROJECT_NAME"]
project_dir = ENV["PROJECT_DIR"]
xcode = Appscript.app('Xcode')
project = xcode.projects[project_name]
group = project.groups[group_name]
group_path = group.real_path.get
generated_files = Dir.glob(group_path+"/*.m")
missing_files = Array.new(generated_files)
group.item_references.get.each {|item|
item_path = item.real_path.get
missing_files.delete(item_path)
if ! generated_files.include?(item_path) then
group.file_references[item.name.get].delete
puts "Deleting #{File.basename(item_path)} from group #{group_name}, as it is not in generated files list"
end
}
if missing_files.empty? then
puts "There are no new files to add. "
exit
end
# holds the compile targets for generated files
targets = []
project.targets.get.each{ |target|
targets << target if target_names.include?(target.name.get)
}
if targets.empty? then
puts "Unable to find #{target_names.inspect} in project targets ! Aborting"
exit
end
missing_files.each{ |path|
file_name = File.basename(path)
msg = "Adding #{file_name} to group #{group_name} and to targets: "
item = xcode.make(:new => :file_reference,
:at => group.item_references.after,
:with_properties => {:full_path => path,
:name => file_name})
targets.each {|target|
xcode.add(item,{:to=>target})
msg += target.name.get
}
puts msg
}
這種方法現在是過時的嗎?它看起來像你已經刪除了minit倉庫。 – 2014-08-22 08:35:28
我已經刪除了minit參考,因爲它不再更新。這種方法是爲所提到的特定版本的xcode而設計的。較新的版本可能無法正常工作。 – Adrian 2014-08-25 14:30:03
看xcode-editor項目,用於處理Xcode的項目文件的API。
您可以將文件添加到項目中,指定它屬於哪個目標,添加xib文件和框架。
一個好主意,可以在這裏找到:https://stackoverflow.com/a/17894337/354018
基本上,你導入生成.m
文件到被添加到編譯階段已知源文件。
我添加了一個雷達(詳細信息在http://www.openradar.me/radar?id=4885314376040448)尋求支持。
這仍然很熱,尤其是當您考慮使用Swagger和API代碼時。在這方面有什麼進展? – 2016-10-28 10:20:02