SWIFT:是否有人每次都使用不同的文本设置记录?

标签 swift apple-push-notifications cloudkit subscriptions

所以我创建了一个聊天室,当有人发送消息时,他们还会在我的云套件数据库中添加订阅,但问题是不能有多个同名订阅,我希望他们能够设置多于一个的订阅。这是一些代码:

    func setupCloudKitSubscription () {
    let userDefaults = NSUserDefaults.standardUserDefaults()

    if userDefaults.boolForKey("subscribed") == false {
        let predicate = NSPredicate(format: "TRUEPREDICATE", argumentArray: nil)
        let subscription = CKSubscription(recordType: "Extra1", predicate: predicate, options: CKSubscriptionOptions.FiresOnRecordCreation)

        let notificationInfo = CKNotificationInfo()
        notificationInfo.alertLocalizationKey = "New Sweet"
        notificationInfo.shouldBadge = true

        subscription.notificationInfo = notificationInfo

        let publicData = CKContainer.defaultContainer().publicCloudDatabase

        publicData.saveSubscription(subscription) { (subscription:CKSubscription?, error:NSError?) -> Void in
            if error != nil {
                print(error?.localizedDescription)
            }else{
                userDefaults.setBool(true, forKey: "subscribed")
                userDefaults.synchronize()

你看它是如何写的 recordType: "Extra1"我怎样才能在每次有人订阅时使“Extra1”不同的文本?谢谢!

最佳答案

你的问题不完全清楚。我认为您想问的是您希望订阅在每个通知中向您发送不同的消息。

您可以将其设置为显示记录的一个或多个字段。为此,您应该使用如下内容:

notificationInfo.alertLocalizationKey = "Response: %1$@"
notificationInfo.alertLocalizationArgs = ["responseField"]

那么您的 Localization.Strings 文件中还需要它。

"Response: %1$@" = "Response: %1$@";

关于SWIFT:是否有人每次都使用不同的文本设置记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37233972/

相关文章:

xcode8 - 在 xcode 8 的功能下启用 cloudkit 需要付费开发者帐户吗?

ios - CloudKit:将容器环境从开发切换到生产

ios - 在最初被拒绝后,我如何获得隐私权限以重新出现?

用于开发和生产的 iOS 推送通知设备 token

ios - 将 p12 文件转换为 pem 文件的问题

ios - FCM 通知不会出现在 iOS 12 中

ios - CloudKit 处理 ChangeTokenExpired 错误

swift - println 字典有 "Optional"

ios - 使用 NSKeyedUnarchiver 解码 URL 对象数组

swift - Alamofire.request().responseObject 不返回响应