如何将 iOS 应用 IPA 交付给客户以使用他们自己的企业配置文件进行签名

Posted

技术标签:

【中文标题】如何将 iOS 应用 IPA 交付给客户以使用他们自己的企业配置文件进行签名【英文标题】:How can I deliver an iOS app IPA to a customer to be signed with their own Enterprise provisioning profile 【发布时间】:2012-06-14 14:45:48 【问题描述】:

我们开发了一个 ios 应用程序,该应用程序已作为 IPA 交付给客户,该应用程序具有临时分发配置文件,允许他们的一组员工将其安装在他们的设备上。客户现在希望使用他们的 iOS Enterprise Developer 计划凭据在内部将该应用分发给所有员工。

我曾希望客户可以简单地使用他们自己的企业标识重新设计临时 IPA。但是,他们说他们不能这样做。他们说他们“需要一个 IPA 文件,取消对某些设备的限制”。

那么,我该怎么办?

我是否需要为他们创建一个“未签名的”IPA? (如果是这样,我该怎么做?) 我是否需要他们为我生成企业分发配置文件,以便我可以使用该配置文件构建应用程序? 我需要将源或构建输出发送给他们,然后让他们构建包吗?

我看过以下文档,但没有启发我:

TN2250: iOS code Signing Setup, Process, and Troubleshooting Distributing Enterprise Apps for iOS Devices

【问题讨论】:

【参考方案1】:

完全可以使用任何 IPA 并使用您自己的详细信息将其退出,在此过程中修改 Info.plist、捆绑 ID 等。我一直使用其他开发人员使用他们自己的配置文件和签名身份签名的 IPA。

如果他们不熟悉codesign 命令行工具以及替换embedded.mobileprovision 文件和权利的所有细节,他们最简单的方法是通过Xcode“存档”应用程序,并将生成的存档文件 (*.xcarchive) 发送给他们。

他们可以将其导入 Xcode,使其在 Organizer 中可见,然后他们可以从那里选择“分发”并使用他们的企业身份对其进行签名。

要将 .xcarchive 文件导入 Xcode,他们只需将文件复制到 ~/Library/Developer/Xcode/Archives 目录,它应该会出现在 Xcode 管理器中。然后他们点击“分发”并按照说明进行操作:

【讨论】:

我不清楚他们是否有精通 Xcode 的人。他们有某种内部的“公司应用商店”,管理它的人显然习惯于接收有效的 IPA。我会尝试获取更多信息。 啊,他们一定是在使用一些自定义的无线门户或类似 TestFlight 的东西。问题是,该应用程序需要使用他们的企业详细信息进行签名。没有办法解决这个问题。他们可以为您提供他们的私钥和配置文件,您可以自己构建一切。 @MikeWeller 你说你甚至可以修改捆绑ID——但这不是二进制文件的一部分吗?这不会造成任何影响吗? (我首先在这里的“更新”部分阅读了这一点:oleb.net/blog/2011/06/code-signing-changes-in-xcode-4) 只有当你使用 Xcode 来做 resigning 时才会导致问题(因为 Xcode 不会改变二进制文件的权利)。我们有一个内部开发的脚本,它使用codesign 实用程序为您完成所有这些工作。所以这是可能的。如果需要,您可以在命令行上完成所有操作而无需脚本。 这个 IPA 脚本刚刚对我很有效。 gist.github.com/Gl0ub1l/4233537

以上是关于如何将 iOS 应用 IPA 交付给客户以使用他们自己的企业配置文件进行签名的主要内容,如果未能解决你的问题,请参考以下文章

如何将我的 iOS 应用程序发送给我的客户以供他们使用?

如何将 .xcarchive 转换为 .ipa 以供客户端使用 Application Loader 将应用提交到应用商店

如何最好地与客户分享 iOS 应用程序进度

iOS 应用程序如何使用客户的个人资料提交

iOS 企业级 IPA 重签名

用于测试目的的 IPA 文件