1

我有一个使用推送通知的应用程序,我正在尝试将其分发给测试人员进行测试。

如果我创建了一个通过 iTunes 安装的临时发行版,那么除了推送通知之外,一切正常,它永远不会到达。但是如果应用程序是使用 XCode 安装的,那么推送通知确实会到达。

当我使用 XCode 构建安装时,我将 XCode 中的代码签名身份设置为我的开发配置文件。当我为临时分发构建时,我将 XCode 中的代码签名身份设置为构建存档时的临时分发配置文件,然后使用临时配置文件再次签署存档以进行分发(我发现这是唯一的组合这将允许通过 iTunes 安装而不会出现错误消息)。

所有设备都已添加到 ad-hoc 分发配置文件和苹果推送配置文件(以及团队供应配置文件),配置文件已在 XCode 中更新和刷新。即使使用我自己的 iPhone,如果我使用 XCode 而不是 iTunes 安装,我也可以获得推送通知。

我是否使用不正确的配置文件签署临时分发,如果是,配置文件的正确组合是什么?为什么推送通知不适用于临时分发,但在通过 XCode 安装应用程序时,是否还有其他原因?

这些是使用的配置文件:

1) Apple push profile which has an App id of abcdef.com.company.mno
2) Project Development profile which has an App id of abcdef.com.company.mno
3) iOS Team provisioning profile which has an app id of abcdef.*
4) AdHoc Distribution profile which has an app id of abcdef.com.company.mno
5) My developer profile which has an app id of abcdef.com.company.mno

** 自从第一次发布此内容以来,我尝试使用 abcdef.com.company.mno 应用程序 ID 创建新的 iOS 团队配置文件,但没有任何区别**

abcdef.com.company.mno 应用程序 ID 显示开发推送通知已启用(这是正确的,我们尚未使用生产推送)。它的开发推送 SSL 证书也显示为已启用。

代码签名身份是:第一张图片我用于使用 XCode 安装/运行的图片,第二张图片用于构建临时分发的存档。

在此处输入图像描述

在此处输入图像描述

XCode 中 iPhone 分发配置文件的描述为:“Ad Hoc 分发配置文件(用于捆绑标识符 com.company.mno)”。

4

2 回答 2

1

今天早上,我在尝试编译 In House 应用程序时遇到了类似的问题(我认为这是同一个问题)。我将 iPhone 插入计算机,并在控制台中看到一个警告,例如:entitlement 'aps-environment' has value not allowed by a provisioning profile

我尝试了这个解决方案,但没有成功:

“aps-environment”具有配置文件不允许的值

因此,我的应用程序在从 Xcode 运行的发布模式下正常工作,但是当我尝试使用 Ad Hoc 证书导出时,我的 iPhone 在控制台上显示了该消息。

最后我去了iPhone中的个人资料并删除了所有内容。我去了管理器中的个人资料,也全部删除了。我通过配置门户编辑了配置文件并再次下载了它们。

我将代码签名更改为不要代码签名。再次更改为内部配置文件,导出到文件,一切正常!

于 2012-10-11T19:14:37.157 回答
-1

您可能正在使用通配符应用程序 ID 配置文件签署临时版本。确保构建设置中的代码签名身份明确使用您的显式应用程序 ID 配置文件。

于 2012-10-11T17:18:56.827 回答