CloudKit 是满足 iOS 应用程序数据需求的绝佳解决方案。它完全免费(有一定限制),易于使用且速度非常快。在 Web 上找到的大多数文章都演示了旧的同步 api。2021 年,Apple 推出了易于使用的异步 API。在本文中,我将展示如何使用这些 api 并使用加载到 CloudKit 公共数据库中的数据为您的应用程序提供动力。有关 CloudKit 的介绍,您可以查看底部的链接。
示例应用程序显示了希腊的一些旅游景点。使用 XCode 创建应用程序后,添加 iCloud 功能并为您的应用程序数据创建一个容器,如下所示。
我将创建一个临时视图,用于上传 iCloud 公共数据库中的公共数据。我在此示例中的公共数据是从 GPX 文件加载的兴趣点 (POI)。POI 记录具有位置、名称和对父区域记录的引用。上传数据的代码如下所示:
func upload(_ track:GPXTrack) async throws {
self.track = track
for wp in track.waypoints! {
guard let poi_name = wp.name else {continue}
let c = wp.coordinate
let region_name = poi_name.components(separatedBy: " ").first!
var region = regions.first(where: {$0.name == region_name})
if region == nil {
region =