我已经设置了自定义区域订阅,以从我的自定义记录区域接收(静默)推送通知.我的iOS设备上的一切正常,但我无法在Mac上收到通知.
要注册通知我正在applicationDidFinishLaunching中注册通知类型:
[[NSApplication sharedApplication] registerForRemoteNotificationTypes:NSRemoteNotificationTypeNone];
(尝试使用相同结果的其他类型)
application:didRegisterForRemoteNotificationsWithDevicetoken:
然后使用有效令牌调用.一切似乎都很好但是当自定义区域注册更改时,我没有收到任何通知
application:didReceiveRemoteNotification:
不叫.我还尝试将警报正文设置为一个空字符串,如下所示:
CKNotificationInfo *info = [[CKNotificationInfo alloc] init]; info.alertBody = @""; info.shouldSendContentAvailable = YES;
但它也没有用.当我将一个字符串设置为警报正文(并注册相应的通知类型)时,我还会在右上角收到该正文的通知,但是不会调用application:didReceiveRemoteNotification:.
希望您能够帮助我.谢谢!
解决方法
只需从其中一个共享链接中提取正确的解决方案:如果您使用CKNotificationInfo作为警报,则除非您将CKNotificationInfo.soundName设置为空字符串,否则不会在Mac上调用didReceiveRemoteNotification!这看起来只是OS X中的一个错误(到目前为止10.10和10.11),但可以通过这个简单的更改来解决.