Iphone 如何使远程通知与CloudKit订阅一起工作?

Iphone 如何使远程通知与CloudKit订阅一起工作?,iphone,notifications,ios8,cloudkit,cksubscription,Iphone,Notifications,Ios8,Cloudkit,Cksubscription,到目前为止,我无法订阅工作。(在我的设备上接收推送通知,订阅似乎已成功创建) 我一直在玩[CloudKitAtlas][1]。我按照项目自述中的说明做了: 要求 建造 iOS 8.0 SDK和Xcode 6 在iCloud中启用CloudKit权限(从功能) 更改容器名称以在开发人员帐户中设置容器 我能够启动应用程序,它成功注册远程通知: 2014-06-09 11:15:17.712 CloudKitAtlas[841:220562]注册为Push 带有令牌的通知: 我还可以创建记录、查询

到目前为止,我无法订阅工作。(在我的设备上接收推送通知,订阅似乎已成功创建)

我一直在玩[CloudKitAtlas][1]。我按照项目自述中的说明做了:

要求 建造
  • iOS 8.0 SDK和Xcode 6
  • 在iCloud中启用CloudKit权限(从功能)
  • 更改容器名称以在开发人员帐户中设置容器
我能够启动应用程序,它成功注册远程通知:

2014-06-09 11:15:17.712 CloudKitAtlas[841:220562]注册为Push 带有令牌的通知:

我还可以创建记录、查询记录和订阅:

2014-06-09 11:15:21.966 CloudKitalas[841:220934]认购该项目

如果我转到仪表板,我会看到创建了几个订阅。 但是当我创建一个新记录时,什么也没有发生,回调:

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)info
从未执行(注意:我在iPhone 5S上运行应用程序,而不是在模拟器上)

我使用的是一个带有显式bundle id(没有通配符)的调试签名,对于这个app id,我还创建了相应的推送通知证书,尽管我只是下载了它们,因为我与这些文件无关

  • 我忘记做什么了吗
  • 我没有正确地测试它吗
  • 是否有人能够通过订阅在其设备上获取远程通知

  • 更新15/06/14 显然这是苹果方面的一个错误,让我们再等几个星期吧。


    2015年5月18日更新

    如果有人想知道这个bug很久以前就被苹果解决了,现在它就像一个魔咒,尽管你需要考虑一下:

  • 确保saveSubscription:completionHandler:方法执行时没有错误
  • 如果您使用[application RegisterForRemotonifications];你只会通过前台的应用程序获得通知,这看起来可能毫无意义,但它非常有用,因为这种推送通知是“静默”的,你不需要用户许可就可以使用它们
  • 如果您想通过请求权限的弹出窗口和出现在应用程序外部的警报以及您需要使用的所有内容获取旧式推送通知,例如: [应用程序注册表通知设置:设置]


  • 这就是所有的registerForRemoteNotificationTypes:type NS_不推荐使用IOS(3_0,8_0,“请使用RegisterForRemotonications和registerUserNotificationSettings:代替”)

    //返回已启用的类型,同时考虑所有系统范围的设置;与连通性无关

    enabledRemoteNotificationTypes NS_已弃用_IOS(3_0、8_0,“请使用-[UIApplication isRegisteredForRemoteNotifications]或-[UIApplication currentUserNotificationSettings]检索用户启用的远程通知和用户通知设置”)


    从iOS8开始,它被弃用不是原因,很可能是原因?

    我也有同样的问题。我想这可能只是一个沙箱环境问题?或者我们需要为订阅推送功能配置推送功能…?推送通知在沙箱模式下工作,所以它也应该在这里工作。我有种感觉,我忘了设置一些东西:(它在新的beta 2上有效吗?我今天早上尝试了,但什么都没有:|我需要尝试一个新的应用程序和一个新的容器,也许这也很重要。beta 2的changelog上也没有提到这个问题如何在CloudKit中设置最小订阅:我正在使用“registerForRemoteNotifications”和“isRegisteredForRemoteNotifications”都是注册的,而且我使用的是苹果的CloudKit示例。我真的认为这是他们这边的一个bug。
    UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:
                                        UIUserNotificationTypeBadge |
                                        UIUserNotificationTypeSound |
                                        UIUserNotificationTypeAlert
                                                                         categories:nil];