Apple Automator工作流程将文件粘贴到.ipa包中,然后使用代码符号重新签名

时间:2013-09-23 16:48:27

标签: applescript code-signing automator

我有一个打包的.ipa包作为此任务的基础。 我想选择然后运行Automator服务为我做这项工作。

这些是服务需要执行的步骤:

  1. 将输入的.ipa重命名为.zip
  2. 解压缩zip存档
  3. 提取的存档包含一个目录(Payload),其中包含一个.app文件。 该服务以某种方式需要打开此.app文件。在Finder中,您只需说“显示包装内容”。
  4. 在.app包中,我需要粘贴一个文件。理想情况下,服务部门应该在一开始就提出这个问题。
  5. 使用codesign重新签名.app包。 Codesign也需要一个参数(要使用的证书)。这也应该由服务提出(它只是一个String值,需要与密钥库中的密钥相同)。
  6. 再次压缩有效负载
  7. 删除原始文件。
  8. 将Payload.zip重命名为原始文件的name.ipa
  9. 相当重要的任务,我不确定是否可以使用Automator完成。 由于我从未使用过它,所以我已经在第3点陷入困境了。

    我可以手动执行所有这些步骤,但我确实已经自动执行了这些步骤。

    正如我所说,步骤1和2是使用“Rename Finder Items”和“Open Finder Items”完成的。 输入值是Finder中的选定文件。 如果有必要,可以将其拆分为两部分,如果一个服务无法执行此操作。

    任何帮助都将受到高度赞赏!

1 个答案:

答案 0 :(得分:1)

您可能只使用这样的shell脚本:

for f; do
  temp=/tmp/$(uuidgen)
  mkdir $temp
  cd $temp
  unzip "$f"
  cp /path/to/file Payload/*.app
  codesign -s /path/to/certificate Payload/*.app
  rm "$f"
  zip -r "$f" Payload
  rm -r $temp
done