所以我有100项成就要上传,而不是使用我认为创建元数据.xml文件并使用iTMSTransporter上传数据可能会更快的网站。不幸的是,一个问题是必须为每个图像文件计算MD5校验和,否则苹果将拒绝整个itmsp包。要求这样做几乎会使iTMSTransporter的整个"易用性"失效。
有没有一个实用程序可以解析元数据文件并用校验和更新它?或者可能是生成元数据文件并执行该操作的东西?
有一个命令行程序将生成metadata.xml
文件并计算文件的校验和。它要求您将元数据放在一个YAML文件中,然后将其转换为metadata.xml
:https://github.com/colinhumber/itunes_transporter_generator
您可以使用此脚本更新包含metadata.xml
文件和资产的目录:
require "rexml/document"
require "digest"
def set_checksum(path)
xml = File.read(path)
doc = Document.new(xml)
doc.get_elements("//achievement//file_name").each do |e|
next unless e.text =~ /S/
file = File.join($source, e.text.strip)
puts "Computing checksum for #{file}"
$md5.file(file)
checksum = $md5.hexdigest!
node = e.parent.elements["checksum"]
node = Element.new("checksum", e.parent) unless node
node.text = checksum
node.add_attribute("type", "md5")
end
puts "Saving update file"
File.write(path, doc.to_s)
end
include REXML
$source = ARGV.shift || Dir.pwd
$md5 = Digest::MD5.new
Dir["#$source/*.xml"].each do |path|
puts "Processing #{path}"
set_checksum(path)
end
按如下方式使用:
> ruby script.rb
或
> ruby script.rb /path/to/metadata/directory