如果 Xcode Server 使用 iOS 团队配置文件签名,则未收到推送通知

Posted

技术标签:

【中文标题】如果 Xcode Server 使用 iOS 团队配置文件签名,则未收到推送通知【英文标题】:Push Notifications not received if Xcode Server signs with iOS Team provisioning profile 【发布时间】:2015-02-12 12:05:53 【问题描述】:

我最近在一个应用中实现了推送通知。我们还使用 Xcode Server 的实例为我们的 QA 进行自动化构建。 当我更新应用程序 ID 以支持推送通知时,我重新生成了用于开发和生产的配置文件。 我还在构建设置中强制使用重新生成的 Dev prov。调试版本和 Prod prov 的配置文件。发布版本的配置文件。

但在此之后,服务器无法再成功签署存档,因为出于某种原因,服务器会自动创建团队配置文件。我试图以某种方式强迫它。我也试图移动省。服务器存储它们的文件夹中的配置文件。我还尝试导出/导入私钥。没有成功。我更改了构建设置并返回“自动”而不是强制配置文件。

当我从本地计算机安装构建时,它会使用手动证明进行签名。轮廓。并且推送通知有效。 如果我安装使用服务器构建的版本,它就不起作用。在控制台中显示以下消息:

SpringBoard[53]:没有有效的“aps-environment”权利 为应用程序“myApp”找到的字符串:(null)。通知不会 交付。

当我查看 Apple Developer 帐户时,服务器使用的配置文件显示 IT 已启用推送通知。我无法编辑它,因为它是由 Xcode 管理的。

怎么办?

【问题讨论】:

【参考方案1】:

你确定你也在服务器端更新了证书吗?看起来像“当前配置文件不包含 APNS 信息,因为配置文件是在创建 APNS 证书之前创建的。”看这里No valid 'aps-environment' entitlement string found for application on app store

【讨论】:

我还从开发人员帐户以及服务器存储它们的文件夹中删除了配置文件。重新连接团队帐户。重新启动服务器。同样的问题。 简单问题。关闭 XCode 后,在重新启动它时,您是否设法转到 XCode (menu)/Preferences/Accounts -> your account -> View Details refresh(顺时针箭头按钮?在底部)?这是在您下载新证书并双击它们之后... 我们在谈论 Xcode 服务器吗? Xcode 服务器拥有自己的一组证书、配置文件、缓存、派生数据等。 不确定,我不在家测试 XCode 服务器签名问题,但我记得添加 Entitlements.plist 以便通过 XCode 服务器 distrib.app 到 APNS。

以上是关于如果 Xcode Server 使用 iOS 团队配置文件签名,则未收到推送通知的主要内容,如果未能解决你的问题,请参考以下文章

在Azure DevOps Server (TFS)的流水线中编译和测试Xcode移动应用(iPhone)

为啥 XCode 将配置文件从自动选择一个切换到 iOS 团队配置文件

Xcode:“您的帐户无权创建 iOS 分发证书”作为团队成员

Xcode:此团队中没有带有 ID 的 iOS App ID

开发团队没有在Xcode中展示

Xcode Server CI 构建无法与 iOS 7.1 一起安装