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

时间:2016-05-15 02:36:49

标签: 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"每次有人订阅时都会有不同的文字?谢谢!

1 个答案:

答案 0 :(得分:0)

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

您可以将其设置为显示记录的一个或多个字段。为此,你应该使用这样的东西:

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

然后您还需要在Localization.Strings文件中使用它。

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