CloudKit iOS:用户无法删除应用程序数据

时间:2019-10-22 15:24:13

标签: ios swift cloudkit

我尝试将CloudKit支持添加到我的iOS应用中。我的目标是将数据保存到用户的privateCloudDatabase并能够在用户更改手机/重新安装应用程序时将其还原。 一切正常,但是用户无法从iCloud删除应用程序数据(从代码中我可以成功删除它)

前提条件:用户设备已启用iCloud

复制步骤(ios 13,但可以在任何ios上复制):

  1. 从代码中将CKRecord保存到用户的privateCloudDatabase
  2. 在用户设备上转到设置> Apple ID(在顶部)> iCloud>管理存储>我的应用程序>删除数据>删除

预期结果:应用程序列表已更新,而我的应用程序不在列表中

实际结果:我的应用仍在列表中

这是我向iCloud添加记录的方式:

let record = CKRecord(recordType: "backup", recordID: CKRecord.ID(recordName: "userName"))
let operation = CKModifyRecordsOperation(recordsToSave: [record], recordIDsToDelete: nil)
operation.savePolicy = .allKeys
operation.modifyRecordsCompletionBlock = { savedRecords, deletedRecords, error in
       print(error)        
}
CKContainer.default().privateCloudDatabase.add(operation)

我希望用户可以转到“设置”并从iCloud手动删除应用程序数据。否则,如果用户删除我的应用程序,他将永远无法从iCloud删除此数据(是的,我尝试删除应用程序,然后删除数据-结果相同)

视频:https://www.youtube.com/watch?v=UGk0hpi8gtA

问题:是错误还是我错过了一些东西?有解决此问题的解决方法吗?

更新:我在应用商店应用程序中发现了一个可能使用CloudKit的应用程序,如果我安装了它-无法永远将其从iCloud存储中删除。 https://apps.apple.com/us/app/ulysses/id1225571038

1 个答案:

答案 0 :(得分:0)

我也尝试过此操作,但该应用程序并不会立即从列表中消失,但是如果您重新加载应用程序列表,它就可以工作。请尝试以下步骤:

  1. 从列表中删除应用。
  2. 等一下。
  3. 转到iCloud设置,然后返回到 Manage Storage (管理存储),该应用应该已消失。

如果手动重新加载列表后仍然无法使用,我建议向Apple提交错误:feedbackassistant.apple.com