22

我试图了解代码签名过程是如何工作的。我的目标是获取一个使用公司 A 的企业证书签名的 .ipa 文件,更改捆绑 ID,然后使用公司 B 的 App Store Distribution 证书再次签名并发布到 App Store。

首先,这可能吗?我在这里读到“ ......我很确定您不能(也不应该)使用此工具来为具有 App Store 分发证书的应用程序签名”。有人可以详细说明吗?

我已经尝试过很多这样的脚本,这个和这个但是经过一些调整后,当我尝试使用 Application Loader 发送应用程序进行审查时,它们似乎都有同样的问题。我遇到的错误是:

  • 应用程序未通过协同设计验证。签名无效,包含不允许的权利,或者未使用 iPhone 分发证书签名。
  • 无法从 /var/folders/67/(large_number)/new.ipa/Payload/original.app/original 中提取权利

有人可以帮我吗?请注意,我知道如何通过导出证书等来做到这一点——但在这里我正在探索 B 公司是否能够自己做到这一点,如果我给他们 A 公司的 .ipa 文件。如果需要,我可以更详细地解释我在做什么 - 只要问。

谢谢!

编辑:我已经知道这个已关闭的 SO 问题,但是我发布了一个新问题,因为我认为我的问题更具体,而且我并不是要求一种通用的方法来完成我想要的 - 我只想看看所描述的场景是否是可能的。

4

3 回答 3

6

要辞职一个新的应用程序,这应该是可能的,您需要在开发门户中创建所有新的分发配置文件(假设您已经到了这一步)。从您的应用到新的配置文件,一切都需要匹配。应用程序 ID 可能是最重要的。当您创建一个新的时,必须在您的项目中进行设置以匹配。通常是 com.companyname.appname.optional。这个新的应用程序 ID 必须在您的构建设置中与 Bundle Identifier 配对。一旦你匹配了这些,你应该能够将它与你的新发行版/配置文件配对。

FWIW,交换这些配置文件必须是所有 iOS 开发中最复杂的过程。这可能需要一些修补和反复试验,但我确信它可以完成。祝你好运。

于 2012-12-19T14:29:07.133 回答
2

我以前在做这件事时遇到了麻烦。在 Xcode 中设置新的配置文件和重建似乎可行,但只是在编辑带有捆绑 ID 的 plist 后使用命令行重新签署现有应用程序,这让我很伤心。我怀疑它是在构建应用程序时放入应用程序的嵌入式配置文件,但老实说,我不确定。

我看到您在权利方面遇到问题 - 请注意,其中一些是在开发配置文件中设置的(推送通知、IAP,也许还有 iCloud),并且必须在那里正确。

第二个提示是 Xcode 将开发配置文件缓存在项目中(某处),因此即使您从库文件夹内的移动配置文件文件夹中删除一个,您也必须在 Xcode 项目的目标设置中实际更改它,否则它可能仍然使用旧的(grrr)。

于 2012-12-25T07:13:56.123 回答
0

我使用AirSign应用程序节省了很多时间(当我发布我的原始问题时该应用程序不可用)。

于 2015-02-22T07:37:28.923 回答