5

问候,

我正在编写一个 Web 服务器脚本,它可以让您创建自定义 iOS 应用程序(主要是交换徽标和其他一些东西)。Web 服务器定制了一个先前上传的“shell”.ipa 并重新压缩整个容器以将其发送到用户的浏览器。即:我们在web服务器上自定义一个之前上传的.ipa,让用户下载提交到App Store。

下一步是重新设计整个 .ipa - 因为我们更改了 .IPA 的内容,并且用户必须使用自己的签名身份 - 这样他才能真正将其上传到 App Store。

据我了解,有一个“CodeResources”文件,其中包含捆绑中每个资源文件的某种散列,并且可执行文件也包含某种嵌入式签名。要生成这些,您必须使用用户计算机上的“代码设计”实用程序,然后使用 Application Loader 将其提交到 App Store。到目前为止正确吗?

我试图找出的是:

  1. 有没有办法在服务器上对 .ipa 进行代码签名(让用户事先上传他的证书),这样他就没有任何额外的工作要做?
  2. 如果 1) 不可能,是否有某种工具可以轻松地重新设计 .ipa?Xcode 似乎需要一些项目设置工作来做一些代码签名——如果可能的话。
  3. 是否有任何替代方法可以为用户共同设计 .ipa 文件 - 可能无需手动手动完成?

提前致谢!

4

2 回答 2

4

Xcode 使用codesign命令行实用程序来创建 CodeResources 文件夹和数字签名,您可以自己调用它来对 Xcode 之外的应用程序包进行签名。如果服务器运行 Mac OS X,您可能可以在服务器上自动执行此操作;如果您真的很聪明,您可能能够弄清楚如何使用自己创建签名openssl(签名证书等都是标准的东西)。或者,如果您可以指望用户安装了开发工具,请为他们提供自动签名的应用程序。

这是一个描述一些过程的博客条目(尽管用例略有不同)。

于 2011-07-06T17:13:22.567 回答
3

我不想回答我自己的问题,但我想在这么久之后关闭它。

我们最终使用 Xcode 的目标和方案来简化许多不同应用程序的生成。由于我们有合理数量的应用程序变体,因此目前看来还可以。

代码签名是一团糟,Apple 不断改变其背后的技术流程——因此它是一个移动的目标,需要大量的黑客攻击和试错工作。

于 2012-05-03T06:46:34.653 回答