tipkitlisted
Install: claude install-skill dpearson2699/swift-ios-skills
# TipKit
Add feature discovery tips, contextual hints, and onboarding coach marks to
iOS 17+ apps using Apple's TipKit framework. TipKit manages display frequency,
eligibility rules, and persistence so tips appear at the right time and
disappear once the user has learned the feature.
## Contents
- [Setup](#setup)
- [Defining Tips](#defining-tips)
- [Displaying Tips](#displaying-tips)
- [Tip Rules](#tip-rules)
- [Tip Actions](#tip-actions)
- [Tip Groups](#tip-groups)
- [Programmatic Control](#programmatic-control)
- [Common Mistakes](#common-mistakes)
- [Review Checklist](#review-checklist)
- [References](#references)
## Setup
Call `Tips.configure()` once in `App.init`, before any views render. This
initializes the tips datastore and begins rule evaluation. Calling it later
risks a race where tip views attempt to display before the datastore is ready.
```swift
import SwiftUI
import TipKit
@main
struct MyApp: App {
init() {
try? Tips.configure([
.datastoreLocation(.applicationDefault)
])
}
var body: some Scene {
WindowGroup { ContentView() }
}
}
```
### DatastoreLocation Options
| Option | Use Case |
|---|---|
| `.applicationDefault` | Default location, app sandbox (most apps) |
| `.groupContainer(identifier:)` | Share tips state across app and extensions |
| `.url(_:)` | Custom file URL for full control over storage location |
### CloudKit Sync
Sync tip state across a user's devices so they do not see the same tip