gpt4 book ai didi

ios - 添加 CloudKit 记录时未调用 didReceiveRemoteNotification

转载 作者:行者123 更新时间:2023-12-01 22:29:36 26 4
gpt4 key购买 nike

我想要的:

添加 CloudKit 记录后,我希望我的 iOS 应用程序执行操作。

我做了什么:

我关注了苹果的 info去做这个。

问题:
application:didReceiveRemoteNotification永远不会被调用。

我试图解决的问题:

我已成功设置订阅,以便在添加 CloudKit 记录时收到通知。我通过 application:didRegisterForRemoteNotificationsWithDeviceToken 确认了这一点.

我还确认确实创建了记录。

我可以使用 CKQueryOperation 获取记录.

我也试过 application:didReceiveRemoteNotification:fetchCompletionHandler ,但是这个方法也没有被调用。

我搜索了 Apple Developer Forums 以及 StackOverflow,但没有找到解决问题的方法。

我能做些什么?

创建订阅的代码:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"TRUEPREDICATE"];

CKSubscription *subscription = [[CKSubscription alloc] initWithRecordType:@"command" predicate:predicate options:CKSubscriptionOptionsFiresOnRecordCreation];


CKNotificationInfo *notificationInfo = [CKNotificationInfo new];
notificationInfo.alertLocalizationKey = @"New command.";
notificationInfo.shouldBadge = YES;

subscription.notificationInfo = notificationInfo;

[VMKGlobalVariables.GLOBAL_appDelegate.privateDatabase saveSubscription:subscription
completionHandler:^(CKSubscription *subscription, NSError *error) {
if (error)
{
// insert error handling
}
else
{
DDLogVerbose(@"Added command subscription successfully.");
}
}

];

最佳答案

您是否在该行注册了您的应用程序委托(delegate)。

application.registerForRemoteNotifications()

您的应用程序委托(delegate)中是否有类似这样的代码?
func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject]) {
let notification = CKQueryNotification(fromRemoteNotificationDictionary: userInfo as! [String : NSObject])

let container = CKContainer(identifier: "iCloud.blah.com")
let publicDB = container.publicCloudDatabase

if notification.notificationType == .Query {
let queryNotification = notification as! CKQueryNotification
if queryNotification.queryNotificationReason == .RecordUpdated {
print("queryNotification.recordID \(queryNotification.recordID)")


}
}
}

关于ios - 添加 CloudKit 记录时未调用 didReceiveRemoteNotification,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37771772/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com