我试图了解代码签名过程的工作原理。我的目标是使用公司A的企业证书签署.ipa文件,更改捆绑包ID ,然后使用公司B的App Store再次签名分发证书并发布到App Store。
首先,这甚至可能吗?我读了here“ ...我很确定你不能(也不应该)使用这个工具来使用App Store分发证书来辞职”“。有人可以详细说明吗?
我尝试了许多脚本,例如this和this以及this,但经过一些调整后,当我尝试使用应用程序发送应用以供审核时,它们似乎都有同样的问题装载机。我到达的错误是:
有人可以帮我吗?请注意,我知道如何通过出口证书等来做到这一点 - 但在这里我正在探索B公司是否能够自己做到这一点,如果我给他们公司A的.ipa文件。如果需要,我可以更详细地解释我正在做什么 - 只要问一下。
谢谢!
编辑:我已经知道this closed SO question,但我发布了一个新的,因为我认为我的更具体,我不是要求一种通用的方式来实现我想要的 - 我只想看到如果描述的情况是可能的。答案 0 :(得分:6)
要重新签名应该可行的新应用程序,您需要在开发门户中创建所有新的分发配置文件(假设您已经这么做了)。从您的应用到新配置文件,所有内容都需要匹配。应用ID可能是最重要的事情。创建新的时,必须在项目中设置该匹配项。通常是com.companyname.appname.optional。此新应用ID必须在您的构建设置中与Bundle Identifier配对。一旦你匹配这些,你应该能够将它与你的新发行版/配置文件配对。
FWIW,交换这些配置文件必须是所有iOS开发中最复杂的过程。它可能需要一些修改和反复试验,但我确信它可以完成。祝你好运。
答案 1 :(得分:2)
我之前遇到过麻烦。在Xcode中设置新的配置文件和重建似乎是有效的,但只是使用命令行在编辑带有包ID的plist后重新签名现有应用程序让我感到悲伤。我怀疑这是嵌入式配置文件在构建时放入应用程序,但老实说,我不确定。
我发现您在使用权利时遇到了问题 - 请注意,其中一些是在开发配置文件中设置的(推送通知,IAP,也许是iCloud),并且必须在那里正确。
第二个提示是Xcode在项目中(某处)缓存dev配置文件,所以即使你从Library文件夹中的mobile profiles文件夹中删除一个,你也必须在Xcode项目的目标设置中更改它或者它仍然可以使用旧的(grrr)。
答案 2 :(得分:0)
我使用AirSign应用程序节省了大量时间(我在发布原始问题时无法使用)。