如果通过iTunes安装应用程序,推送通知不起作用,但如果通过XCode安装,则推送通知不起作用

时间:2012-10-11 15:40:29

标签: ios xcode

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

如果我创建了一个通过iTunes安装的ad-hoc发行版,那么除了从未到达的推送通知之外,一切都有效。 但是如果使用XCode安装应用程序,那么推送通知就会到达。

当我使用XCode构建安装时,我将XCode中的代码签名标识设置为我的开发配置文件。当我为ad-hoc分发构建时,我在构建存档时将XCode中的代码签名标识设置为ad-hoc分发配置文件,然后使用ad-hoc配置文件再次签署存档以进行分发(我发现这是唯一的组合这将允许通过iTunes安装没有错误消息)。

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

我是否使用错误的配置文件签署ad-hoc分发,如果是,那么配置文件的正确组合是什么? 还有另一个原因导致推送通知不适用于ad-hoc分发,但是当通过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 app id创建一个新的iOS Team配置文件,但没有区别**

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

代码签名标识是:第一张用于安装/运行XCode的图片,第二张用于构建临时分发档案的图片。

enter image description here

enter image description here

XCode中的iPhone发布配置文件说明:“Ad Hoc发布配置文件(对于包标识符com.company.mno)”。

2 个答案:

答案 0 :(得分:1)

今天早上我有一个类似的问题试图编译内部应用程序(我认为这是同样的问题)。我将iPhone插入计算机,我在控制台中看到一个警告:权利'aps-environment'具有配置文件不允许的值

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

'aps-environment' has value not permitted by a provisioning profile

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

最后我去了iPhone的个人资料并删除了所有内容。我去了Organizer中的个人资料并删除了所有内容。我通过Provisioning门户编辑了配置文件,然后再次下载。

我将代码签名更改为“不编码签名”。再次更改为In House配置文件,导出到文件,一切正常!

答案 1 :(得分:-1)

您可能正在使用通配符应用ID配置配置文件对adhoc版本进行签名。确保构建设置中的代码签名标识明确使用您的explicit-app-id配置文件。