【问题标题】:didReceiveRemoteNotification not being called on MacCatalyst没有在 MacCatalyst 上调用 didReceiveRemoteNotification
【发布时间】:2020-02-14 07:21:00
【问题描述】:

当我创建 CKSubscription 时,在 iOS 上调用 didReceiveRemoteNotification 就好了,但在 MacOS 上却不行。我遇到了一个 2015 SO 线程谈论一个错误,建议的解决方法是将通知信息的 soundName 设置为一个空字符串 - 不幸的是,这并没有解决我的问题。

这是我注册远程通知的方式:

  func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {

        let subscription = CKQuerySubscription(recordType: "Reminder", predicate: NSPredicate(format: "TRUEPREDICATE"), options: [.firesOnRecordCreation, .firesOnRecordUpdate])

        // Here we customize the notification message
        let info = CKSubscription.NotificationInfo()

        info.shouldSendContentAvailable = true
        info.desiredKeys = ["identifier", "title", "date"]
        info.soundName = ""

        subscription.notificationInfo = info

        // Save the subscription to Private Database in Cloudkit
        CKContainer.default().privateCloudDatabase.save(subscription, completionHandler: { subscription, error in
            if error == nil {
                // Subscription saved successfully 
            } else {
                // Error occurred
            }
        })
    }

【问题讨论】:

    标签: swift cloudkit mac-catalyst cksubscription


    【解决方案1】:

    这与 Mac Catalyst 上的包标识符不同有关。由于即将推出的通用应用程序购买,催化剂应用程序现在可以使用与其 iOS 对应物相同的捆绑标识符,这解决了这个问题。

    请注意,我还遇到了 cloudkit 键值在 Mac (NSUbiquitousKeyValueStore) 上不同步的问题。为 Mac 和 iOS 设置一个单独的 bundle id 也解决了这个问题。

    【讨论】:

    • 啊这就是为什么我在我的应用程序的 Catalyst 版本中也收到 NSUbiquitousKeyValueStore 错误的原因。我没有花任何时间,只是禁用了同步功能。
    • @rs7 我使用新的 Xcode 版本创建了具有相同捆绑 ID 的 macCatalyst 目标,但仍然无法接收来自 CloudKit 的远程通知 - 您是否尝试过它以及任何使其工作的方法?
    • 只是添加应用程序(_, didRegisterForRemoteNotificationsWithDeviceToken) 被调用,但在mac上没有通知。还有 cc @EarlGrey 你成功了吗?
    • 如果您可以为您的问题打开一个新线程并添加更多详细信息(didreceive 和 didRegisterForRemoteNotification 等的代码),我会调查一下。
    • 谢谢@rs7 - 这是问题:stackoverflow.com/questions/63421613/…
    猜你喜欢
    • 1970-01-01
    • 2015-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-28
    • 2020-06-30
    • 1970-01-01
    相关资源
    最近更新 更多