Ios CKModifyBadgeOperation无故崩溃

Ios CKModifyBadgeOperation无故崩溃,ios,swift2,cloudkit,Ios,Swift2,Cloudkit,我已经为insert创建了一个订阅&它发送推送通知,如下所示 let subscriptionNotification = CKNotificationInfo() subscriptionNotification.alertBody = "New Book has been created by Author" subscriptionNotification.shouldBadge = true subscription.notificationInfo = subscriptionN

我已经为insert创建了一个订阅&它发送推送通知,如下所示

let subscriptionNotification = CKNotificationInfo()

subscriptionNotification.alertBody = "New Book has been created by Author"

subscriptionNotification.shouldBadge = true

subscription.notificationInfo = subscriptionNotification
当我收到通知时,我打开应用程序&我只是试图将徽章重置为零

let resetBadge = CKModifyBadgeOperation(badgeValue: 0)

    resetBadge.modifyBadgeCompletionBlock = {(error) in

        if error != nil {

            print(error)

        }
        else {

            application.applicationIconBadgeNumber = 0

        }

    }

    CKContainer.defaultContainer().addOperation(resetBadge)
我在appdelegate上运行了这段代码,但没有使用options方法完成启动。 我得到以下错误。请记住项目的名称是ckreference demo

2015-12-15 21:41:58.417 ckreference演示[2486:1478837]-[CKNotification queryNotificationReason]:发送到实例0x15cd8a960的选择器无法识别 2015-12-15 21:41:58.427 ckreference演示[2486:1478837]*由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:'-[CKNotification queryNotificationReason]:未识别的选择器发送到实例0x15cd8a960' *第一次抛出调用堆栈: (0x183521900 0x182b8ff80 0x18352861c 0x1835255b8 0x18342968c 0x1000b8b9c 0x1000b9250 0x1884cbae4 0x1884b9de0 0x184ad7790 0x184ad7b10 0x1834d8efc 0x1834d8990 0x1834d6690 0x183405680 0x184914088 0x18827cd90 0x1000b94d0 0x182fa68b8) libc++abi.dylib:以NSException类型的未捕获异常终止

有没有关于如何阻止应用程序崩溃的建议

坠机发生在这里


使用调用
queryNotificationReason
的代码更新您的问题。您的代码似乎在假设
CKNotification
CKQueryNotification
,而实际上不是。我不调用任何CKQueryNotification。我已经评论了这一部分。它不运行。另外,我没有收到任何通知&队列中没有未读的通知。然后使用符号化堆栈跟踪的相关部分更新您的问题,以便我们可以看到崩溃发生的位置。我更新了问题。这是你想要的吗?这是应用程序崩溃的地方。应该有一个更可读的堆栈跟踪,显示崩溃实际发生的位置。