Вот скрипт Ruby, который будет сортировать все файлы в своих группах в файле проекта Xcode 4 (возможно, Xcode 3, но я этого не пробовал).
Использование:
ruby sort.rb <infile> <outfile>
< где входной_файл > является несортированный файл .pbxproj и < выход > будет отсортированная версия. Не делайте их одним и тем же файлом.
#!/usr/bin/env ruby
state = :primary
group = []
file_count = group_count = 0
File.open ARGV[0] do |infile|
File.open ARGV[1], 'w' do |outfile|
infile.each_line do |line|
case state
when :primary
# copy lines until and including "children = ("
outfile.write line
state = :group if line =~ /^\s*children\s*=\s*\x28\s*$/
when :group
if line =~ /^\s*[0-9A-F]+\s*\/\* (.*) \*\/,\s*$/
# add file to current group if "<guid> /* <filename> */,"
group << [$1,line]
file_count += 1
else
# otherwise, output sorted files,
# empty the group, and go back to primary state
group.sort.each do |fn,ln|
outfile.write ln
end
state = :primary
group = []
outfile.write line
group_count += 1
end
end
end
end
end
puts "Sorted #{file_count} files in #{group_count} groups"
Кажется, что опция ушла в XCode 4. Любая идея, как это сделать в новой версии? – curthipster 2011-03-23 22:08:15
Я добавил следующий вопрос для XCode4, поскольку этого не получил. http://stackoverflow.com/questions/6024179/sort-file-list-in-xcode4 – 2011-05-16 22:33:09