【问题标题】:When are profiles renewed when using "Automatically manage signing"/allowProvisioningUpdates?使用“自动管理签名”/allowProvisioningUpdates 时何时更新配置文件?
【发布时间】:2018-08-21 14:05:41
【问题描述】:

我有一个企业分布式应用程序,它是使用 xcodebuild 在构建服务器上构建的。去年,我们进行了更改,以使用带有“-allowProvisioningUpdates”标志的“自动管理签名”功能。使用这种技术可以很好地生成供应配置文件,但我们将使用此配置文件一年,它会在 31 天后到期。

最初我的印象是使用“allowProvisioningUpdates”会导致在每个新版本上重新生成配置文件,但如果是这种情况,它不会过期。我们需要使用更新的配置文件进行新构建,这样我们的用户就不会在几个月内留下一个损坏的应用程序。但是,生成的配置文件未显示在 Apple 开发人员中心的“证书、标识符和配置文件”部分中,我找不到任何方法来强制 Xcode 或 xcodebuild 生成新的配置文件。我怎样才能强制这种情况发生以确保我们的用户没有停机时间?当个人资料最终到期时会发生什么?

【问题讨论】:

    标签: ios xcode provisioning-profile xcodebuild ios-provisioning


    【解决方案1】:

    我联系了 Apple,他们是这样说的:

    仅在 Xcode 上自动管理签名 在到期日期之后创建新的配置文件 以前的。

    对于需要提交的新版本,这是最佳选择 App Store 因为当前用户没有停机时间 配置文件。

    当您开发内部应用程序时,如果您让配置 profile expire 自动为您的新版本签名(使用新的 配置文件自动创建)您的用户将无法 访问您的应用。

    因此,答案似乎是我们不应该将自动签名用于内部/企业分发,而应仅用于 App Store 部署。

    【讨论】:

    • 您认为我们应该在每次发布新版本的应用程序时创建一个新的配置文件吗?如果不是,那么您需要重新创建配置文件的最短时间是多少?
    • 我认为这取决于您的用户习惯以及您更新应用的频率。就我个人而言,我会说每 6 个月生成一个新配置文件,让您的用户有 6 个月的时间进行升级(如果他们之前不升级,那么他们只能怪自己)。
    【解决方案2】:

    我在内部分发的一些应用程序中遇到了同样的问题...最终对我有用的解决方案是从开发人员中心删除应用程序 ID,然后让 Xcode 重新创建它以及任何随附的配置文件。不过要记住的一件事是,如果您的开发人员中心只有 1 个应用程序 ID,那么删除它也会删除您的签名证书以及配置文件。我们有几个应用程序依赖于我们的证书,所以它没有被删除。然而,关于即将到期的配置文件的主要问题已得到解决。

    【讨论】:

      【解决方案3】:

      尝试在开发门户手动创建第二个配置文件,从构建服务器的~/Library/MobileDevice/Provisioning Profiles 中删除旧配置文件,下载并安装新配置文件。

      【讨论】:

      • 我会再试一次。但即便如此,Xcode 怎么不自动更新呢?自动签名被破坏了吗?
      【解决方案4】:

      虽然对于我们这些更喜欢所有带有脚本的项目的人来说很烦人,但事实证明,在“设备”不在自动配置配置文件中的机器上手动运行构建会更新配置文件。

      无论我是从命令行使用脚本还是从 xcode GUI 运行存档/导出,这对我都有效。

      没有给出任何提示,它只是默默地更新和工作。

      由于 Apple 在上面回复了我们,这可能是 Xcode 10.1 的一项新功能/修复,这就是我今天所做的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-03-03
        • 1970-01-01
        • 2022-06-20
        • 1970-01-01
        • 2016-01-03
        • 1970-01-01
        • 1970-01-01
        • 2016-12-15
        相关资源
        最近更新 更多