我正在通过后端的azure通过推送通知开发应用程序。我关注this tutorial。一切都很好,我在开发者模式下测试了推送通知,然后我将我的应用程序发送到TestFlight。我生成了生产证书并将其添加到azure管理面板,但推送通知不起作用。奇怪的是推送通知在带有iOs9的iPhone6上不起作用,但在带有iOs9的iPhone5上工作正常。我还在开发者模式下测试了iPhone6设备,但它也没有用。我不知道什么是错的。以下是一些可能有助于理解错误的事实:
1)在iOs9 + iPhone5s上正常工作,在iOs9 + iPhone6上无效(在开发人员和生产模式下);
2)看起来问题不在证书中,bcs一切正常在iPhone5s上运行;
3)在开发者模式下(当我使用iPhone6时),在azure PNS中设备注册没有错误,但是didReceiveRemoteNotification方法只是没有被调用。
也许有些人知道什么是错的?以下是我的AppDelegate模式:
func application(application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: NSData) {
let hub = SBNotificationHub(connectionString: "***", notificationHubPath: "***")
hub.registerNativeWithDeviceToken(deviceToken, tags: NSSet(array: [String(Api.guid)]) as Set<NSObject>) { (error) -> Void in
if (error != nil) {
// handle error
} else {
// success
}
}
}
func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject], fetchCompletionHandler completionHandler: (UIBackgroundFetchResult) -> Void) {
// TODO receive notification when app is launched
}
答案 0 :(得分:1)
看起来那个bug出现了bcs我在同一设备上使用了一个苹果ID(当我从试飞中下载应用程序时)