Contents

cloudKitContainer(_:)

Sets the CloudKit container used for syncing tips.

Declaration

static func cloudKitContainer(_ cloudKitContainer: Tips.ConfigurationOption.CloudKitContainer?) -> Tips.ConfigurationOption

Parameters

  • cloudKitContainer:

    The option to use for specifying TipKit’s CloudKit datastore. Use nil to disable CloudKit syncing.

Overview

Use cloudKitContainer to sync TipKit’s datastore across devices.

In order to avoid record collisions between your app and TipKit, it is recommended that you use a separate container for syncing tips.

By default, TipKit’s datastore does not sync with CloudKit.

Discussion

Syncing TipKit’s datastore requires two separate capabilities in your app’s entitlements: the iCloud capability which lets you specify a CloudKit container, and the Background Modes capability, which lets your app receive remote notifications from CloudKit that contain information about new changes on the server.

[Image]

@main
struct TipKitTrails: App {
    init() {
        do {
            // Sync the TipKit datastore using CloudKit.
            try Tips.configure([
                .cloudKitContainer(.named("iCloud.com.apple.TipKitTrails.tips"))
            ])
        }
        catch {
            // Handle TipKit errors
            print("Error initializing TipKit \(error.localizedDescription)")
        }
    }
}

CloudKit Container Values

See Also

Configuration