---
title: "cloudKitContainer(_:)"
framework: tipkit
role: symbol
role_heading: Type Method
path: "tipkit/tips/configurationoption/cloudkitcontainer(_:)"
---

# cloudKitContainer(_:)

Sets the CloudKit container used for syncing tips.

## Declaration

```swift
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

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.

@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 automatic named(_:)

## See Also

### Configuration

- [configure(_:)](tipkit/tips/configure(_:).md)
- [datastoreLocation(_:)](tipkit/tips/configurationoption/datastorelocation(_:).md)
- [displayFrequency(_:)](tipkit/tips/configurationoption/displayfrequency(_:).md)
