问候,
我正在编写一个Web服务器脚本,可以创建自定义iOS应用程序(基本上可以交换徽标和其他一些东西)。 Web服务器自定义先前上载的“shell”.ipa并重新压缩整个容器以将其发送到用户的浏览器。即:我们在Web服务器上自定义以前上传的.ipa,让用户下载它以提交到App Store。
下一步是对整个.ipa进行重新编码 - 因为我们更改了.IPA内容,用户必须使用自己的签名身份 - 这样他才能将其实际上传到App Store。
据我所知,有一个“CodeResources”文件,它包含了bundle中每个资源文件的某种哈希值,而且可执行文件也包含某种嵌入式签名。要生成这些,您必须在用户的计算机上使用“codesign”实用程序,然后使用Application Loader将其提交到App Store。到目前为止正确吗?
我想知道的是:
提前致谢!
答案 0 :(得分:4)
Xcode使用codesign
命令行实用程序来创建CodeResources文件夹和数字签名,您可以自己调用它来签署Xcode之外的应用程序包。如果服务器运行Mac OS X,您可以在服务器上自动执行此操作;如果你真的很聪明,你可能会弄清楚如何使用openssl
自己创建签名(签名证书等都是标准的东西)。或者,如果您可以指望安装了开发工具的用户,请为他们提供一个自动签名的应用程序。
这是a blog entry describing some of the process(尽管用例略有不同)。
答案 1 :(得分:3)
我不想回答我自己的问题,但是我想在这么久之后关闭它。
我们最终使用Xcode的目标和方案来缓解许多不同应用的生成。由于我们有合理数量的应用程序变体,现在看来似乎没问题。
代码签名是一团糟,Apple不断改变其背后的技术流程 - 因此它是一个移动目标,需要大量的黑客攻击和反复试验工作。