到目前为止,我无法订阅工作。 (在我的设备上接收推送通知,似乎已成功创建订阅)
我一直在玩[CloudKitAtlas] [1]。我完成了该自述文件的自述文件:
要求
构建
- iOS 8.0 SDK和Xcode 6
- 在iCloud中启用CloudKit授权(来自功能)
- 更改您的容器名称以在您的开发者帐户中设置容器
我可以启动应用程序,它可以成功注册远程通知:
2014-06-09 11:15:17.712 CloudKitAtlas [841:220562]已注册推送 带令牌的通知:
我也可以创建记录,查询和订阅:
2014-06-09 11:15:21.966 CloudKitAtlas [841:220934]订阅商品
如果我转到仪表板,我会看到几个订阅。 但是当我创建新记录时没有任何反应,回调:
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)info
永远不会执行(注意:我在iPhone 5S上运行应用程序,而不是在模拟器上运行)
我正在使用带有显式bundle id(没有通配符)的调试签名,对于这个app id,我也创建了相应的推送通知证书,尽管我刚下载它们,因为我与这些文件无关。
更新15/06/12 显然这是苹果方面的一个错误,让我们等几个星期。 https://developer.apple.com/library/content/samplecode/CloudAtlas/Introduction/Intro.html#//apple_ref/doc/uid/TP40014599
更新18/05/15
如果有人想知道很久以前Apple已经解决了这个问题,现在它就像魅力一样,虽然你需要做一些考虑:
UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes: UIUserNotificationTypeBadge | UIUserNotificationTypeSound | UIUserNotificationTypeAlert categories:nil];
[application registerUserNotificationSettings:settings];
这就是全部
答案 0 :(得分:-1)
registerForRemoteNotificationTypes:类型 NS_DEPRECATED_IOS(3_0,8_0,"请使用registerForRemoteNotifications和registerUserNotificationSettings:代替");
//返回已启用的类型,同时考虑任何系统范围的设置;与连通性无关。
enabledRemoteNotificationTypes NS_DEPRECATED_IOS(3_0,8_0,"请使用 - [UIApplication isRegisteredForRemoteNotifications],或 - [UIApplication currentUserNotificationSettings]检索用户启用的远程通知和用户通知设置");
从iOS8开始它被弃用不是原因,可能会是?