【问题标题】:What happens to the provisioning profile during the code signing process?在代码签名过程中配置文件会发生什么变化?
【发布时间】:2011-08-08 10:23:26
【问题描述】:

我正在尝试为第 3 方开发人员找到一种方法,仅向我发送应用程序的二进制文件(具有正确的捆绑包 ID),以便我可以使用正确的证书对其进行签名并将其发送到应用商店。

我可以告诉 xcode 不需要配置文件,以便可以使用任何证书对其进行签名。然后我可以使用 codesign 使用正确的证书对二进制文件进行签名。 如果我的设备具有正确的临时配置文件,它将可以正常运行应用程序。

我的问题是,这对应用商店有用吗?我假设配置文件以某种方式被烘焙到二进制文件中,但我不确定。应用商店构建中的配置文件会发生什么变化?

【问题讨论】:

    标签: ios xcode provisioning-profile ios-provisioning


    【解决方案1】:

    您能否不要求开发人员将源代码发送给您,以便您可以使用适当的配置文件和证书自行编译和签署二进制文件?

    如果不行,您能否不向开发人员提供您的证书副本并允许他代表您签署应用程序?查看this link,标题为“保存您的私钥并转移到其他系统

    【讨论】:

    • 这两个都是选项,过去我们已经选择了后者,但我们希望防止我们的签名密钥被提供给许多开发人员。
    • 那我建议用前者;如果这些第 3 方开发人员不愿意为您提供源代码,您总是可以建议他们将其包装在静态库中并适当地重构他们的代码。两者都应该是微不足道的。
    【解决方案2】:

    配置配置文件仅与证书一起使用来唱二进制文件。开发人员可以创建一个未签名的二进制文件并将其发送给您,因此您可以使用您的配置文件手动对其进行代码设计。我不确定 ad-hoc 和 appstore 版本在二进制方面是否有任何区别,但我不这么认为。

    【讨论】:

    • 过去存在差异,例如adHoc 配置的权利,但通过 Build&Archive 以及稍后共享/提交,代码设计与二进制构建分开。这是一个很棒的功能,因为您现在可以为应用商店使用经过临时测试的二进制文件。不过不确定,您是否可以将另一台机器上的存档加载到您的 xcode 中以进行签名和共享/提交。
    • 您不需要将其加载到管理器中,您可以从命令行使用 codesign 或使用类似这样的实用程序:tuaw.com/2010/02/09/sdk-devsugar-re-signing-applications 我不确定如何正确插入配置文件。 .
    • @fichek - 我无法解决的是在使用协同设计实用程序时使用/指定配置文件的位置
    • @marcus - 我们似乎遇到的第 22 个问题是,为了构建和存档,您需要使用与捆绑包 ID 匹配的配置文件对应用程序进行签名。开发人员无法创建此配置文件,因为它是我们的捆绑包 ID。构建和存档不会让您不签署应用程序。我可以让 xcode 不关心配置文件来解决这个问题,但是我对应用商店配置文件在二进制文件本身中的实际作用感到困惑。我似乎无法使用 codesign 指定配置文件。
    • 我会假设,只有 embedded.mobileprovision 和 _CodeSignature 在签名期间得到更新。开发人员是否可以使用您的捆绑包 ID(在 plist 中)并在其开发人员配置文件 (######.*) 中使用通用应用 ID(带通配符)进行开发?
    猜你喜欢
    • 2010-09-24
    • 1970-01-01
    • 2019-02-04
    • 1970-01-01
    • 1970-01-01
    • 2021-11-09
    • 1970-01-01
    • 1970-01-01
    • 2012-05-14
    相关资源
    最近更新 更多