AirWatch 是不是对未签名的 ipa 文件进行签名?

Posted

技术标签:

【中文标题】AirWatch 是不是对未签名的 ipa 文件进行签名?【英文标题】:Does AirWatch sign unsigned ipa files?AirWatch 是否对未签名的 ipa 文件进行签名? 【发布时间】:2015-04-16 16:48:46 【问题描述】:

我们正在尝试为我们的一位客户提供 ipa,以便在他们的 AirWatch 上进行部署。关于什么是最好的方法有很多相互矛盾的信息,但他们似乎都同意需要使用某些帐户的证书和私钥进行签名的事实。但是,客户似乎正在通过 AirWatch 管理他们的苹果企业帐户。这是否意味着我们可以向他们提供一个未签名的 ipa 文件并让 AirWatch 完成它的工作?

我已经在互联网上搜索了一段时间以获取此信息,最接近的信息类似于Renew ios Development and APNs Production for Corporate Apps [AirWatch],这不是我想要的

【问题讨论】:

【参考方案1】:

否 - AirWatch 不会根据 IPA 重新签署任何内容。它可以询问您的 IPA,以确保您不会尝试使用应用 B 的 IPA 意外更新应用 A 的 IPA,仅此而已。

您提供的链接与在 AirWatch 中重新签名应用程序无关,因为它是更新您的企业 Apple 开发人员证书和配置文件的一般做法。

如果您尝试将未签名的 IPA 部署到不在您的 Developer Portal 中的设备上,您可能会遇到应用开始安装的问题,然后抛出无法安装的错误。

关于您的客户在做什么可能会有一些混淆,因为 AirWatch 不直接绑定到 Apple Developer Portal,除了与 IPA 无关的 MDM APNs 证书。

【讨论】:

【参考方案2】:

这取决于 AirWatch 重新签名的复杂程度。一个好的重新签名者应该能够接受任何东西,重新签名并添加正确的权利。

也就是说,在 Xcode 中 unsigned 感觉像是一条不受支持的路径 - 所以我的保守方法是签署应用程序的生产版本(如果有意义的话,Ad Hoc、Enterprise 甚至 AppStore),其权利尽可能类似于最终应用程序的那些。如果应用程序权利很简单(例如仅推送通知),那么这就是要走的路。

但有一个问题:匹配客户端权利最近变得更加困难,部分原因是应用程序组的激增(这需要一个明确的、全球唯一的应用程序 ID - 谢谢,Apple Watch!),所以你的未签名建议开始看起来更有吸引力。

【讨论】:

嗯。该应用程序是使用自定义脚本和 xctool 构建的。所以我可以以某种方式创建一个未签名的。但我的疑问是,AirWatch 是否能够退出应用程序? 如果他们要管理您的帐户,那么他们将不得不承担这一责任。将您帐户的控制权交给第三方听起来很可疑。 酷。我将使用未签名的 IPA,看看它会把我引向何方。【参考方案3】:

Airwatch 仅在您使用其 App Wrapper 包装 IPA 时才会放弃 IPA,因为它会更改原始 IPA 并使签名无效。

您必须同时提供证书和配置文件以允许这样做。

如果必须使用您客户的企业证书签署 IPA,您要么需要访问他们的会员中心,要么让他们这样做。

如果您向他们提供 IPA,AppSign 或 iReSign 等应用程序可以为您或您的客户做到这一点。

【讨论】:

以上是关于AirWatch 是不是对未签名的 ipa 文件进行签名?的主要内容,如果未能解决你的问题,请参考以下文章

Airwatch ad-hoc 分发,无需生成新的 IPA

ipa重签名

对未签名的 Java 小程序可以做啥的限制?

如何判断使用啥配置文件/签名证书来签署 .ipa?

iOS 代码签名外部 IPA 文件

Airwatch API 内部应用程序安装:开始内部应用程序安装