使用多个方案和推送通知配置配置文件

Posted

技术标签:

【中文标题】使用多个方案和推送通知配置配置文件【英文标题】:Provisioning Profiles With Multiple Schemes & Push Notifications 【发布时间】:2017-10-17 17:31:13 【问题描述】:

我按照以下文章为每个环境(开发、uat、发布)启用了同一应用程序在同一设备上多次安装:

https://medium.com/@danielgalasko/run-multiple-versions-of-your-app-on-the-same-device-using-xcode-configurations-1fd3a220c608

我遇到了一个不知道如何解决的问题。现在,每个环境都有一个唯一的捆绑包 ID。我们需要将应用程序的每种风格分发给用户,因此我们需要分发和开发配置文件。因为我们有多个方案,每个方案都有自己的捆绑 ID,我们需要为每个方案提供配置文件(由于推送通知权利,不能使用通配符)。当我们使用 bitrise 进行 CI 时,我需要将分发配置配置文件签入我们的存储库,并且它需要分发 prov 配置文件来存档应用程序,因此每次我们想要剪切本地构建并在设备上运行它时,我们'将需要将配置文件更改为 dev 变体,并记住不要将这些更改签入 repo。

这似乎有点倒退,有没有更有效的方法来处理这种情况?

【问题讨论】:

您可以为不同的构建配置指定单独的代码签名身份或配置文件。无需在构建时尝试替换单个配置文件。只需为不同的捆绑 ID 提供单独的配置文件,然后在您的项目构建设置中,为您创建的每个构建配置选择适当的配置文件。仅供参考,我们这样做了,它完美地允许我们在同一设备上同时安装同一应用程序的多个版本。 【参考方案1】:

解决此问题的一种方法是将构建应用的每个“版本”所需的设置编码到用于构建的命令行工具中。 fastlane 几乎是这方面的规范工具。您可以设置多个“通道”,它们将使用不同的方案和/或配置文件构建您的应用程序。它还具有一种机制,可让您将配置文件存储在单独的加密 git 存储库中。

我的经验是,要做到正确可能有点繁琐,尤其是如果您使用 CI 服务进行构建,但是一旦您使用它,就更容易确保您正在构建正确的二进制文件正确的选择。

【讨论】:

【参考方案2】:

    我建议您为 Apple 企业/开发者帐户中所需的所有方案单独创建 APP ID。

    然后只需确保所有 APP ID 都启用了开发和分发的推送通知。我想分布就足够了。

    现在,在您的 Xcode 中,将所有方案中的选项设置为自动配置,这样您就不必总是在 Account 中创建配置文件,Xcode 会处理这个问题。

    现在告诉您的服务器人员巧妙地处理 APNS 分发证书的 .p12,并为每个应用程序设置密码并触发每个应用程序的推送,这应该没问题。如果提供了开发 APNS 证书,请确保他选择了 SANDBOX,如果提供了分发证书,请确保他选择了 LIVE 模式。

【讨论】:

以上是关于使用多个方案和推送通知配置配置文件的主要内容,如果未能解决你的问题,请参考以下文章

具有通配符和推送通知标识符的 iOS 配置文件

Apple 推送通知开发与分发配置文件

为 IOS 配置和使用推送通知 - Xamarin

苹果推送通知——分发和开发同时进行

如果我有免费的 iOS 开发人员配置文件,如何调试“推送通知”?

临时配置文件和开发推送通知 SSL [重复]