Sürüm dizesi, [xx] biçiminde olmalıdır. [Yy]. [Zz] Burada x, y, z sayılardır.
Özel işlemlerin x ve y (ör. 0.4) için anlamlı etiket numaraları ve sonra bir kod oluşturma aşaması yoluyla verilmesi için kullanarak bu sorunu ele alıyorum, z git describe
tarafından döndürülen son etiketten beri işlem sayısını alır .
this one'dan uyarladığım komut dosyası. Düz bir yapı aşaması olarak hedefin (shell
/usr/bin/env ruby
olan) eklenebilir: komut için teşekkür ederiz @damian
# add git tag + version number to Info.plist
version = `/usr/bin/env git describe`.chomp
puts "raw version "+version
version_fancy_re = /(\d*\.\d*)-?(\d*)-?/
version =~ version_fancy_re
commit_num = $2
if ($2.empty?)
commit_num = "0"
end
fancy_version = ""+$1+"."+commit_num
puts "compatible: "+fancy_version
# backup
source_plist_path = File.join(ENV['PROJECT_DIR'], ENV['INFOPLIST_FILE'])
orig_plist = File.open(source_plist_path, "r").read;
File.open(source_plist_path+".bak", "w") { |file| file.write(orig_plist) }
# put in CFBundleVersion key
version_re = /([\t ]+<key>CFBundleVersion<\/key>\n[\t ]+<string>).*?(<\/string>)/
orig_plist =~ version_re
bundle_version_string = $1 + fancy_version + $2
orig_plist.gsub!(version_re, bundle_version_string)
# put in CFBundleShortVersionString key
version_re = /([\t ]+<key>CFBundleShortVersionString<\/key>\n[\t ]+<string>).*?(<\/string>)/
orig_plist =~ version_re
bundle_version_string = $1 + fancy_version + $2
orig_plist.gsub!(version_re, bundle_version_string)
# write
File.open(source_plist_path, "w") { |file| file.write(orig_plist) }
puts "Set version string to '#{fancy_version}'"
, Damian teşekkür ederiz! – Patrick