0

所以我有 100 个成就要上传,而不是使用我认为创建 metadata.xml 文件并使用 iTMSTransporter 上传数据的网站可能更快。不幸的是,一个障碍是必须为每个图像文件计算 MD5 校验和,否则 Apple 会拒绝整个 itmsp 包。要求这一点几乎会使使用 iTMSTransporter 的整个“易用性”无效。

是否有一个实用程序来解析元数据文件并使用校验和更新它?或者可能会生成元数据文件并做到这一点?

4

1 回答 1

2

有一个命令行程序将生成metadata.xml文件并计算文件的校验和。它要求您将元数据放入 YAML 文件中,然后将其转换为metadata.xmlhttps ://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
于 2013-07-04T07:11:21.100 回答