Tag: cloudkit

首次使用CloudKit Records创buildNSCache – closures?

我有一个项目,我即将完成。 当我将CloudKitlogging下载到数组中以显示在桌面视图中时,出现了最后一个问题。 这是我的控制器查询部分的代码。 for result in results! { let tablerestaurant = Restaurant() if let name = result.value(forKey: "Name") as! String? { tablerestaurant.name = name } // Do same for image if let imageAsset = result.object(forKey: "Picture") as! CKAsset? { if let data = try? Data(contentsOf: imageAsset.fileURL) { tablerestaurant.image = UIImage(data: data) } } self.tablerestaurantarray.append(tablerestaurant) // […]

如何在CloudKit中创build用户?

在Parse中,为了创build一个新的用户,我使用了: var user = PFUser() user.username = "myUsername" user.password = "myPassword" user.email = "email@example.com" CloudKit使用哪些代码来创build新用户并将其用于login?

增加一个CKRecordvariables中的字段值,而不需要读取?

我很好奇,是不是有可能增加一个CKRecordvariables中的字段值,而不会提取? 所以在客户端,我并不好奇最近的价值,我只是想增加价值。 原因,操作应尽可能快捷,而不是两个消息“stream”,我想只发起一个。

在CloudKit中查询引用的最佳方法是什么?

假设我的CloudKit数据库中有两个实体: – Album – (NSString) title – Photo – (NSString) name – (CKRefrence) album 照片有一个CKReference对册页。 这意味着1张专辑可以有很多照片(如预期)。 我有一个显示所有相册的屏幕,每张相册中有多less张照片。 什么是最好的方式来查询这个? 如果我现在查询专辑,每张专辑都不了解它的照片。

CKAsset不会显示在tableview图像中

我有一个可选的图像在云端数据库(检查数据库和图像是在我添加到我的testing中的情况下)。 我创build了一个类,将logging字段初始化为我在tableview中使用的variables。 我也有一个自定义单元格。 但图像不会显示在我的自定义tableview单元格中。 我不知道是否有一个可选的图像在桌面视图图像导致问题,或者如果有我的代码/设置在cloudkit的问题。 任何帮助非常感谢,因为我已经坚持了一个多星期,并没有什么网上关于这个。 这是我的class级代码: var feedResults = [UserPosts]() class UserPosts { var record: CKRecord var description: String var username: String //var image: CKAsset? // tried also initializing the CKAsset separately var postPic: UIImage? init(record: CKRecord) { self.record = record self.description = record.objectForKey("description") as String self.username = record.objectForKey("username") as String // self.image = […]

删除的CloudKitlogging重新出现

我正在使用CloudKit构build一个iOS应用程序。 它应该允许用户在云中添加,编辑和删除Products 。 用户可以在文件夹中组织这些。 这些文件夹只是cloudkit中的其他loggingtypes。 用户可以使用的文件夹级别没有限制,因为任何文件夹都可以保存一个CKReference到它的父文件夹。 我的应用程序中的所有CloudKit通信都发生在专用的CloudKitController类中 这一切正常,但没有明确的理由后,停止工作。 当我testing我的应用程序时,我甚至不使用多层次的文件夹。 但是,使用一段时间(最多一周)后,所有已删除的logging似乎都会重新出现在CloudKit上。 关于这个的一些注意事项: 当我重置我的CloudKit仪表板并重新开始时,它完美的工作。 没有代码更改。 显然,我正在不断编辑我的代码,因为应用程序正在开发中。 不过,我通常不会编辑要存储在CloudKit中的代码中的数据types。 当我这样做的时候,这个问题不会在事后出现 CloudKit Dashboard中的更改(例如,添加数据types)不会导致此问题 本地不存储任何logging,如核心数据。 只要我用它们,他们就坐在一个单身人士身边 当我进入CloudKit Dashboard时,产品loggingtypes显示它有13个实例。 有时候它太糟糕了,我的应用程序实际上会加载超过100个。我也可以看到他们,当我去的recordZone,但仍然RecordType说,它只有13个实例 在CloudKit Dashboard中删除这些logging只会使其消失一段时间。 当我重新加载页面时,他们再次popup。 它已经这样一段时间了,我已经检查了我的代码,苹果图书馆和谷歌无数次,但我不明白是什么原因造成这个问题。 问题:有人会知道如何解决这个问题吗? 正如我所说,我已经跑了几个星期,重置我的CloudKit仪表板只能“治愈”了一个星期,然后再次popup。 如果能帮助你回答我的问题,我也会很乐意发布任何代码。 我还没有发布任何代码最初,因为我不知道什么代码可能会导致此。 任何答复将不胜感激

检查用户是否login到iCloud? 斯威夫特/ iOS版

有没有办法让我检查一下当用户打开应用程序时是否login了iCloud? 我希望能够引导他们进入设置页面,如果他们没有login,如果他们login到iCloud,并已经使用了应用程序之前 – 我想跳过login页面…. 我查看了苹果的iCloud和Cloudkits文档,但无法find任何帮助! 这甚至有可能吗?

未收到Mac上自定义logging区域的CloudKit推送通知

我已经设置了自定义区域订阅,以从我的自定义logging区域接收(静默)推送通知。 一切工作正常在我的iOS设备上,但我不能在我的Mac上收到通知。 要注册通知,我正在注册applicationDidFinishLaunching的通知types: [[NSApplication sharedApplication] registerForRemoteNotificationTypes:NSRemoteNotificationTypeNone]; (尝试其他types的结果相同) application:didRegisterForRemoteNotificationsWithDeviceToken: 然后用有效的令牌调用。 一切似乎很好,但是当自定义区域注册更改,我收到没有通知和 application:didReceiveRemoteNotification: 不叫。 我也尝试设置警报正文为这样一个空string: CKNotificationInfo *info = [[CKNotificationInfo alloc] init]; info.alertBody = @""; info.shouldSendContentAvailable = YES; 但它也没有工作。 当我设置一个string作为警报主体(并注册适当的通知types)时,我也会在右上angular得到一个关于该主体的通知,但application:didReceiveRemoteNotification:不会被调用。 希望您能够帮助我。 谢谢!

如何查询CloudKit的recordID IN

我的谓词想要排除一些已经下载并且在[CKRecordID]中可用的logging。 现在我可以查询1 CKRecordID [0],但不是[CKRecordID]数组。 我如何查询数组? let excludeIDs: [CKRecordID] 这工作: let pred1 = NSPredicate(format: "NOT(recordID = %@)", excludeIDs[0]) 但是这不是: let pred1 = NSPredicate(format: "NOT(recordID IN %@)", excludeIDs) 错误:loadImageCompareRecordIDsAndEndDateThatHaveNotEnded错误:无效的谓词:无效的谓词:数组成员必须符合CKRecordValue:(“”,“”,“”,“”,“”)(CKRecordID) 代码的其他一般部分: let sort = NSSortDescriptor(key: "creationDate", ascending: false) let query = CKQuery(recordType: MyRecordTypes.ImageCompare, predicate: pred1) query.sortDescriptors = [sort] let operation = CKQueryOperation(query: query) operation.desiredKeys = ["endDate"] operation.resultsLimit = […]

使用CloudKit进行私人数据共享

有没有一种直接的方式来使用CloudKit在两个或更多用户之间共享私人数据? 公开和私人date是显而易见的,但似乎没有办法允许一组用户自己组织自己的分享数据,而不让系统的所有其他用户和应用程序开发人员使用它们。 我有一个学术协作的应用程序,但最简单的例子是两个用户之间的私人消息。 我想可以尝试在CloudKit上build立一个公钥encryption系统来实现这个目标,但这并不是我所期望的,并且可以扩展到每个组的两个用户之外。