草庐IT

CloudKit

全部标签

go - 如何执行 CloudKit 服务器到服务器的身份验证

我正在关注ComposingWebServiceRequests执行DiscoveringAllUserIdentities(GETusers/discover).我们的想法是让这个简单的请求正常工作,然后再发出更复杂的请求,例如上传Assets。下面的代码从请求中返回一个错误。import("bytes""crypto/ecdsa""crypto/rand""crypto/sha256""crypto/x509""encoding/base64""encoding/pem""fmt""math/big""net/http""time"//...)funcmain(){fmt.Prin

ios - 无法删除 CloudKit 中的记录

我正在为我的iOS应用程序使用CloudKit。我创建了一种通过ID删除记录的方法。我的问题是CKRecord在我重新安装应用程序后没有被删除:当我重新安装应用程序并尝试删除CloudKit记录时,该方法执行成功(错误为零)但是记录仍在CloudKit中。PS:只要我删除由同一应用程序实例创建的记录,删除就可以正常进行。classfuncremoveFavoriteEntryFromCloud(favoriteIDid:String){//CreatetherecordletfavoriteID=CKRecordID(recordName:id)privateDatabase.dele

ios - Cloudkit 返回带有特定字符串的记录

在我的项目中,使用CloudKit记录类型“用户”(我也测试过其他记录类型名称)我创建了一个带有电子邮件字段的记录。我正在尝试准确匹配该电子邮件并获取匹配的记录。我正在使用IN或==谓词(针对单个电子邮件或电子邮件列表)执行此操作。letquery=CKQuery(recordType:"User",predicate:NSPredicate(format:"emailIN%@",emails))letquery=CKQuery(recordType:"User",predicate:NSPredicate(format:"email==%@","julio_ukohgsp_cheve

ios - CKRecordZone 中的记录仍然显示在 CloudKit 仪表板中

我们有一个应用程序可以将记录同步到CloudKit。它们存储在自定义区域中。我们需要提供一个功能来从CloudKit中“清除所有数据”。由于记录的数量可能很多,我们不想单独或批量删除它们(可能是很多批处理)。所以我们直接删除自定义区域。区域已成功删除,但记录仍显示在CloudKit仪表板中。这是预期的吗? 最佳答案 正如文档所说,您所做的应该是正确的:Deletingarecordzonealsodeletesanyrecordsitcontains.但是你在CloudDashboard中看到的应该是那些缓存的记录导致的,这些记录在

ios - 获取 CKAsset 列表 Swift

我正在使用下面的代码来获取CKAsset列表,但它一直崩溃并告诉我:“fatalerror:在展开可选值时意外发现nil”但是Assets列表在CloudKit仪表板。你知道我错在哪里吗?varimageAssets=record.value(forKey:"membersPhotos")as![CKAsset]谢谢 最佳答案 您被迫解包record.value(forKey:"membersPhotos")这是不好的做法。要避免这种情况,请使用iflet或guard条件来始终了解您正在处理的女巫类型。示例:ifletimageAs

ios - 如何合并来自多个 CloudKit 表的数据?

我正在寻找一种将多个CloudKit表中的数据加载到一个对象中的方法。现在我从一个CloudKit表(recordType)加载数据,但我如何在下面的函数中组合这些数据?我需要添加连接到客户表的事件表。所以一个客户可以有多个事件。我的客户模型:classClient:NSObject{varrecordID:CKRecordID!varname:String?varactivities:[Activity]?varimage:UIImage?varemail:String?varphone:String?varrate:Int?}我的事件对象:classActivity:NSData{

ios - 优化 CKFetchRecordZoneChangesOperation 以获取 desiredKeys

在我的CloudKit应用程序中,我在存储所有CKRecords的私有(private)数据库中创建了一个区域。CKRecords可以是10种不同的记录类型,其中一些可以附加CKAssets。我使用CKFetchRecordZoneChangesOperation查找此区域中的记录更改,并下载它们。我想优化CKFetchRecordZoneChangesOperation以便我在下载中只包含desiredKeys,所以我当时不下载CKAsset,但似乎没有以任何方式指定每个记录类型。相反,您似乎只能在CKFetchRecordZoneChangesOptions上指定desiredKe

ios - 如何将图像作为 CKAsset 正确发送到 CloudKit?

我有一个图像(UIImage和它的url),我试图将它作为CKAsset发送到CloudKit,但我遇到了这个错误:Terminatingappduetouncaughtexception'NSInvalidArgumentException',原因:“非文件URL”。这是代码:overridefuncviewDidLoad(){super.viewDidLoad()send2Cloud()}funcsend2Cloud(){letnewUser=CKRecord(recordType:"User")leturl=NSURL(string:self.photoURL)letasset=

ios - 更改 iCloud 帐户时 NSUbiquitousKeyValueStore 同步延迟

在我的设备中切换测试iCloud帐户以测试我的应用程序是否正确处理iCloud帐户更改检测时,我遇到了一个问题。所以我将数据存储在CloudKit和NSUbiquitousKeyValueStore中。当我使用iOS设置注销iCloud帐户A时,该应用程序会自动终止(我想这没问题)。然后,当我使用iCloud帐户B登录并重新启动应用程序时,我在调用fetchUserRecordID方法时获得了正确的iCloud帐户(B)。问题是虽然NSUbiquitousKeyValueStore没有立即更新并且存储在SynchedPreferences下的.plist文件,但是NSUbiquitou

ios - 如何找出 CloudKit 订阅何时被删除?

我在我的iOS应用程序中使用CloudKit。在我的应用程序中,每当用户修改某些数据时,我都会更新CloudKit私有(private)数据库,以便用户的其他设备也可以得到更新。用户可以启用/禁用此同步机制。当用户启用同步时,我创建一个订阅并将本地数据推送到CloudKit。如果用户已登录到其他设备,他们将开始按预期收到有关私有(private)数据库更改的远程通知。应用程序显示一个UISwitch供用户启用/禁用同步。假设用户有2台设备DeviceA和DeviceB,这表明通过将UISwitch.isOn设置为true已启用同步。如果用户在DeviceA上禁用同步,则订阅将被删除并且