- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我遇到了一个 CloudKit 错误,当我搜索它时只得到一个 (1) Google 结果。运行 CKModifySubscriptionsOperation 以创建初始用户的 CK 订阅时出现错误。错误是无法创建或修改字段“notif_num_subtitle_loc_args”
我很确定这曾经有效,所以这可能是 iOS 10.3 或 CloudKit 内部的东西?
这是我用来创建订阅的代码:
let subscriptionID = "MindscopeDownload"
let predicate = NSPredicate(format: "TRUEPREDICATE")
let options: CKSubscriptionOptions = [.firesOnRecordCreation, .firesOnRecordUpdate, .firesOnRecordDeletion]
let subscription = CKSubscription(recordType: "MindscopeNode", predicate: predicate, subscriptionID: subscriptionID, options: options)
let info = CKNotificationInfo()
info.alertLocalizationKey = "Mindscope entry changes"
info.shouldSendContentAvailable = true
subscription.notificationInfo = info
let op = CKModifySubscriptionsOperation(subscriptionsToSave: [subscription], subscriptionIDsToDelete: [])
op.modifySubscriptionsCompletionBlock = { (foo, bar, error: Error?) -> () in
if let e = error {
print("Failed to modify subscription: \(e)
这是有人遇到同样问题的谷歌结果:https://forums.developer.apple.com/thread/76893
最佳答案
我遇到了完全相同的问题,它出现在 4 月 1 日到 4 月 17 日之间的某个时间,当时我不在办公室(因此没有进行任何代码更改)。我打开了一个错误,该错误已作为副本关闭。原始错误仍然存在。所以至少 Apple 承认这是一个错误。
我只在生产环境中看到这个错误,我找到了两个解决方法:
不幸的是,这给我留下了一个空容器,我并不急于编写迁移代码来将数据从原始容器移动到新容器。
不幸的是,这会清除所有用户为已删除的订阅类型创建的所有现有订阅。对我来说幸运的是,每个用户的订阅列表在我的应用程序中是静态的。我的代码在启动时已经验证/重新创建了丢失的子程序。但是,如果您的用户动态选择要订阅的内容,这将是一个难以管理的情况。 (您可以在删除订阅类型之前获取现有订阅并缓存谓词,但这需要与您的用户协调以确保他们都及时缓存了现有订阅)
请注意,我还尝试使用具有相同谓词的新订阅 ID 简单地创建新订阅。那彻底失败了,提示说新的子类型是现有子类型的重复。如果您可以将其他子句添加到谓词中,则您可以创建新的子类型,这些子类型在部署到产品时可以正常工作。
关于ios - 遇到 CKSubscription 错误 : "Cannot create or modify field ' notif_num_subtitle_loc_args'",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43731482/
我是一名优秀的程序员,十分优秀!