2014-10-19 51 views
4

我一直在嘗試瞭解如何創建將從AWS SNS設置中接收推送通知的應用程序。iOS - 將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

對此有任何幫助。我已經創建了我的證書,在我的應用程序中更新了憑據,並盡力使我的級別達到最佳狀態,但終端又被禁用。請讓我知道如何解決這個問題。 – 2016-06-13 07:26:59

回答

3

我猜這是證書問題。嘗試創建並使用一個新的。我有類似的問題,最終通過生成一個新證書來解決問題(儘管舊的工作在第三方測試工具中)。

+0

我做了一個新的,它仍然存在。我該怎麼辦? – 2016-06-13 06:20:29

+0

您是否找到解決方案? – Marin 2016-08-21 19:38:25

+0

如果你仍然有這個問題,儘管你已經成功[手動測試你的證書](https://github.com/noodlewerk/NWPusher),你可以嘗試上傳你的項目的源代碼,讓人們可以看看它。 – geppy 2016-08-23 11:50:53

0

我面臨類似的問題。我所有的設置都正確,但我錯過了在plist中啓用遠程通知權利。一旦我啓用了,問題就解決了。