cloudKitContainer(_:)
Sets the CloudKit container used for syncing tips.
Declaration
static func cloudKitContainer(_ cloudKitContainer: Tips.ConfigurationOption.CloudKitContainer?) -> Tips.ConfigurationOptionParameters
- cloudKitContainer:
The option to use for specifying TipKit’s CloudKit datastore. Use
nilto 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)")
}
}
}