所以我有 100 个成就要上传,而不是使用我认为创建 metadata.xml 文件并使用 iTMSTransporter 上传数据的网站可能更快。不幸的是,一个障碍是必须为每个图像文件计算 MD5 校验和,否则 Apple 会拒绝整个 itmsp 包。要求这一点几乎会使使用 iTMSTransporter 的整个“易用性”无效。
是否有一个实用程序来解析元数据文件并使用校验和更新它?或者可能会生成元数据文件并做到这一点?
所以我有 100 个成就要上传,而不是使用我认为创建 metadata.xml 文件并使用 iTMSTransporter 上传数据的网站可能更快。不幸的是,一个障碍是必须为每个图像文件计算 MD5 校验和,否则 Apple 会拒绝整个 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