首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CloudKit通知

CloudKit通知
EN

Stack Overflow用户
提问于 2014-12-09 04:45:24
回答 1查看 1.9K关注 0票数 7

我可能漏掉了一些显而易见的东西。

如何创建一个CloudKit通知,详细说明正在通知您的CKRecord?(也就是说,不仅仅是一个通用的“新建项目!”)但是一份带有唱片标题的通知,比如,“吉尔和杰西卡的生日派对!”)

对于每一个新的记录更改,创建一个新的notification.alertBody来创建一个新的订阅是正确的方法吗?这没有任何意义。

这使得queryNotification.recordID选项可以从CloudKit (或我的本地商店)中提取数据,并以某种方式将其添加到通知中?添加或更改已通知通知的值的方法是什么?我遗漏了什么?

更新:按照Edwin的建议,这里有一个代码片段,但它不起作用。

代码语言:javascript
复制
let notification = CKNotificationInfo()
notification.alertBody = "Added: %@" as NSString
notification.alertLocalizationArgs = ["name"]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-09 14:35:31

只需填充CKNotificationInfo对象的CKNotificationInfo

.alertLocalizationArgs的文档显示:

使用此属性是可选的。此属性包含一个NSString对象数组,每个对象对应于触发推送通知的记录字段。这些名称用于从记录中检索相应的值。然后,这些值用于替换alertBody或alertLocalizationKey字符串中的任何替换变量。值本身必须是NSString、NSNumber或NSDate对象。不要用其他值指定键。当添加到推送通知时,长度大于100个字符的字符串值可能会被截断。 如果对替换变量使用%@,则将这些变量替换为按顺序遍历数组。如果使用形式%n$@的变量(其中n是整数),则n表示要使用的数组中项的索引(从1开始)。因此,数组中的第一个项替换变量%1$@,第二个项替换变量%2$@,依此类推。您可以使用索引替换变量来更改结果字符串中项的顺序,这在本地化应用程序的消息时可能是必要的。

以下是我如何使用它的两个示例:

代码语言:javascript
复制
            notificationInfo.alertBody = "%1$@ : %2$@"
            notificationInfo.alertLocalizationArgs = ["FromName", "Text"]

第二个样本是:

代码语言:javascript
复制
            notificationInfo.alertLocalizationKey = "News: %1$@"
            notificationInfo.alertLocalizationArgs = ["Subject"]

其中,"News:%1$@“作为Localizable.strings文件中的键

更新:看起来您现在需要使用.alertLocalizationKey。所以第一个样本不再有效了。

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27371588

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档