所以我做了一个聊天室,当有人发送消息时,他们还在我的云套件数据库中添加了一个订阅,但问题是不能有一个同名的订阅,我希望他们能够设置更多订阅然后一个。这是一些代码:
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"每次有人订阅时都会有不同的文字?谢谢!
答案 0 :(得分:0)
你的问题并不完全清楚。我想您想要问的是,您希望订阅在每个通知中向您发送不同的消息。
您可以将其设置为显示记录的一个或多个字段。为此,你应该使用这样的东西:
notificationInfo.alertLocalizationKey = "Response: %1$@"
notificationInfo.alertLocalizationArgs = ["responseField"]
然后您还需要在Localization.Strings文件中使用它。
"Response: %1$@" = "Response: %1$@";