我一直在努力了解如何创建一个可以从AWS SNS设置接收推送通知的应用。
我已经创建了应用程序证书等,从我所看到的,事情应该有效。 我已经关注了一些教程,并设法让我的iOS应用程序接收从我的开发机器本地运行的PHP脚本发送到APNS的推送通知。
我似乎缺少的是,当我尝试设置我的AWS SNS应用程序以向我的开发设备端点发布消息时,它会将状态从已启用更改为已禁用,而不会有来自AWS的任何推理或错误消息控制台。
我的理解是我正在使用的设备令牌是正确的,因为PHP脚本有效,我的证书等正在工作,因为这意味着PHP脚本不起作用,我必须丢失AWS设置和iOS集之间的东西起来。
一些代码:
iOS设置 - 作为从PHP脚本收到的通知
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Override point for customization after application launch.
let defaultServiceConfiguration = AWSServiceConfiguration(region: AWSRegionType.EUWest1, credentialsProvider: credentialsProvider)
AWSServiceManager.defaultServiceManager()
.setDefaultServiceConfiguration(defaultServiceConfiguration)
let notTypes:UIUserNotificationType = UIUserNotificationType.Alert | UIUserNotificationType.Badge | UIUserNotificationType.Sound
let noteSettings:UIUserNotificationSettings = UIUserNotificationSettings(forTypes: notTypes, categories: nil)
UIApplication.sharedApplication().registerUserNotificationSettings(noteSettings)
return true
}
func application(application: UIApplication, didRegisterUserNotificationSettings notificationSettings: UIUserNotificationSettings) {
UIApplication.sharedApplication().registerForRemoteNotifications()
println("hello from user")
}
func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject]) {
println("recieve!!")
}
AWS屏幕截图
如果有人能想到或注意到我在这里缺少的东西,那么在我的学习过程中会有很大帮助!
答案 0 :(得分:3)
我猜这是证书问题。尝试创建和使用新的。我遇到了类似的问题,最终通过生成新证书来解决(尽管旧证书在第三方测试工具中工作)。
答案 1 :(得分:0)
我遇到了类似的问题。我的所有设置都正确,但我错过了在plist中启用远程通知权限。一旦我启用了这个,问题就解决了。