为啥我们不能在 xcode 6.1.1 中为推送通知选择配置文件和代码签名
Posted
技术标签:
【中文标题】为啥我们不能在 xcode 6.1.1 中为推送通知选择配置文件和代码签名【英文标题】:why can't we select provisioning profiles and code signing in xcode 6.1.1 for push notifications为什么我们不能在 xcode 6.1.1 中为推送通知选择配置文件和代码签名 【发布时间】:2015-03-11 13:08:26 【问题描述】:我正在尝试让推送通知同时适用于开发和生产环境
到目前为止,似乎一切正常。我按照 Ray Wenderlich 教程http://www.raywenderlich.com/32960/apple-push-notification-services-in-ios-6-tutorial-part-1 中的步骤操作,控制台似乎可以正常使用 php 脚本。毕竟,它说“消息已成功传递”
但是,即使应用程序正确注册了通知,通知也不会发出。
我能想到的唯一不起作用的是配置文件附加到通配符。所以我想我会手动更改配置文件。但是在代码签名下的构建设置中,当我单击以更改它时,不再有配置文件列表。相反,它只会显示一个愚蠢的文本视图,您可以在其中输入内容。它是空白的,对于 Debug 或 Release 版本都没有。
只有我一个人有这个问题吗?
同样,配置文件错误只是一种理论。我实际上不知道这是否是导致问题的原因。
但奇怪的是……推送通知昨天还在开发中,但今天没有,实际上什么都没有改变。
我删除了所有配置文件。
我删除了应用程序。
我重启了电脑
我下载了所有配置文件
我重启了电脑
该应用不会询问我是否希望它接收推送通知,尽管它曾经是。
服务器端没有任何变化。
.pem 文件在用于开发而非生产时仍然相同。
.pem 文件是使用正确的开发和分发证书和密钥制作的。
应用仍然没有收到推送通知。
怎么了?
【问题讨论】:
为什么这个问题被否决了? 【参考方案1】:发布版本提供与调试版本不同的令牌。打开控制台以查看您的令牌日志。完成后删除日志,这样没人会看到它。
【讨论】:
【参考方案2】:据我回忆,您无法通过使用通配符 AppID 的应用成功利用推送通知。我刚刚检查了我的企业门户,我什至无法在我的任何通配符应用上启用 APN。
我建议取消通配符 AppID 并改用它的专用版本。如果您需要使用相同的 VendorID 或 AdvertisingID,请确保您的应用套件维护相同的根标识符。
com.mycompany.foo == com.mycompany.bar
com.mycompany.foo != com.mycompany.foo.bar
【讨论】:
以上是关于为啥我们不能在 xcode 6.1.1 中为推送通知选择配置文件和代码签名的主要内容,如果未能解决你的问题,请参考以下文章
在 ionic cordova 和 firebase 中为 iOS 应用程序设置推送通知
Xcode/Cocoapods 为啥我不能从 Pod 实现 Swift 协议?