首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iTMSTransporter metadata.xml md5实用程序ios

iTMSTransporter metadata.xml md5实用程序ios
EN

Stack Overflow用户
提问于 2013-07-04 01:11:13
回答 1查看 959关注 0票数 0

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

有没有工具可以解析元数据文件并用校验和更新它?或者可能是生成元数据文件并执行它的东西?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-04 15:11:21

有一个命令行程序,它将生成metadata.xml文件并计算文件的校验和。它要求您将元数据放在一个YAML文件中,该文件会转换为metadata.xmlhttps://github.com/colinhumber/itunes_transporter_generator

您可以使用此脚本更新包含一个或多个metadata.xml文件和资源的目录:

代码语言:javascript
复制
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

使用方法如下:

代码语言:javascript
复制
> ruby script.rb

代码语言:javascript
复制
> ruby script.rb /path/to/metadata/directory
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17454213

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档