One Logo Pool Ball
App Services · IOS API REFERENCE

TipKit

Display tips that help people discover features in your app.

61 types

128 callable entries

24 skipped

84% entry coverage

Generated from iOS SDK 27.1. Availability is shown on each declaration; permissions and entitlements still apply.

Types

AnyTip

struct · iOS 17.0+

AnyTip.Action

typealias · iOS 17.0+

AnyTip.Event

typealias · iOS 17.0+

AnyTip.ID

typealias · iOS 17.0+

AnyTip.IgnoresDisplayFrequency

typealias · iOS 17.0+

AnyTip.InvalidationReason

typealias · iOS 17.0+

AnyTip.MaxDisplayCount

typealias · iOS 17.0+

AnyTip.MaxDisplayDuration

typealias · iOS 18.0+

AnyTip.Option

typealias · iOS 17.0+

AnyTip.Rule

typealias · iOS 17.0+

AnyTip.Status

typealias · iOS 17.0+

MiniTipViewStyle

struct · iOS 17.0+

MiniTipViewStyle.Body

typealias · iOS 17.0+

Tip

protocol · iOS 17.0+

Tip.Action

typealias · iOS 17.0+

Tip.Event

typealias · iOS 17.0+

Tip.IgnoresDisplayFrequency

typealias · iOS 17.0+

Tip.InvalidationReason

typealias · iOS 17.0+

Tip.MaxDisplayCount

typealias · iOS 17.0+

Tip.MaxDisplayDuration

typealias · iOS 18.0+

Tip.Option

typealias · iOS 17.0+

Tip.Rule

typealias · iOS 17.0+

Tip.Status

typealias · iOS 17.0+

TipGroup

class · iOS 18.0+

TipGroup.Priority

enum · iOS 18.0+

TipKitError

struct · iOS 17.0+

TipOption

protocol · iOS 17.0+

Tips

enum · iOS 17.0+

Tips.Action

struct · iOS 17.0+

Tips.Action.ID

typealias · iOS 17.0+

Tips.ConfigurationOption

struct · iOS 17.0+

Tips.ConfigurationOption.CloudKitContainer

struct · iOS 18.0+

Tips.ConfigurationOption.DatastoreLocation

struct · iOS 17.0+

Tips.ConfigurationOption.DisplayFrequency

struct · iOS 17.0+

Tips.DonationLimit

struct · iOS 26.0+

Tips.DonationTimeRange

struct · iOS 17.0+

Tips.EmptyDonation

struct · iOS 17.0+

Tips.Event

struct · iOS 17.0+

Tips.Event.Donation

struct · iOS 17.0+

Tips.Event.ID

typealias · iOS 17.0+

Tips.Event.Value

typealias · iOS 17.0+

Tips.IgnoresDisplayFrequency

struct · iOS 17.0+

Tips.InvalidationReason

enum · iOS 17.0+

Tips.MaxDisplayCount

struct · iOS 17.0+

Tips.MaxDisplayDuration

struct · iOS 18.0+

Tips.Parameter

struct · iOS 17.0+

Tips.Parameter.ID

typealias · iOS 17.0+

Tips.Parameter.Value

typealias · iOS 17.0+

Tips.ParameterOption

struct · iOS 17.0+

Tips.Rule

struct · iOS 17.0+

Tips.Rule.CompoundOperation

enum · iOS 26.0+

Tips.Status

enum · iOS 17.0+

TipUICollectionReusableView

class · iOS 17.0+

TipUICollectionViewCell

class · iOS 17.0+

TipUIPopoverViewController

class · iOS 17.0+

TipUIView

class · iOS 17.0+

TipView

struct · iOS 17.0+

TipView.Body

typealias · iOS 17.0+

TipViewStyle

protocol · iOS 17.0+

TipViewStyle.Configuration

typealias · iOS 17.0+

TipViewStyleConfiguration

struct · iOS 17.0+

Functions and constants

init · iOS 26.0+

init

TypeScript
static initIsPresentedArrowEdgeAction(tip?: (SDKHandle) | null, isPresented?: (_SwiftUICore_Binding<boolean>) | null, arrowEdge?: (_SwiftUICore_Edge) | null, action?: ((arg0: Tips_Action) => void)): Promise<TipView<AnyTip>>
Swift declaration
@MainActor @preconcurrency init(_ tip: (any Tip)?, isPresented: Binding<Bool>? = nil, arrowEdge: Edge? = nil, action: @escaping @MainActor @Sendable (Tips.Action) -> Void = { _ in }) where Content == AnyTip

Creates a tip view with an optional arrow. Use a `TipView` when you want to indicate the UI element to which the tip applies, but don't want to directly anchor the tip view to that element. Use the <doc://com.apple.documentation/documentation/SwiftUI/View/popoverTip(_:arrowEdge:action:)> to anchor your tip to an element. - Parameters: - tip: The tip to display. - isPresented: A binding that will automatically update to true when a tip is displayed. This value can be changed to temporarily hide or show a currently displayable tip. If this value is `nil`, the view will automatically disappear based on the tip's status and display rules. - arrowEdge: The edge of the tip view that displays the arrow. - action: The closure to perform when the user triggers a tip's action.

init · iOS 26.0+

init

TypeScript
static initIsPresentedArrowEdgeAnchorIDAction(tip: (SDKHandle) | null, isPresented: (_SwiftUICore_Binding<boolean>) | null, arrowEdge: (_SwiftUICore_Edge) | null, anchorID: number, action?: ((arg0: Tips_Action) => void)): Promise<TipView<AnyTip>>
Swift declaration
@MainActor @preconcurrency init<AnchorID>(_ tip: (any Tip)?, isPresented: Binding<Bool>? = nil, arrowEdge: Edge? = nil, anchorID: AnchorID, action: @escaping @MainActor @Sendable (Tips.Action) -> Void = { _ in }) where Content == AnyTip, AnchorID : Hashable, AnchorID : Sendable

Creates a tip view with an optional arrow. Use a `TipView` when you want to indicate the UI element to which the tip applies, but don't want to directly anchor the tip view to that element. Use the <doc://com.apple.documentation/documentation/SwiftUI/View/popoverTip(_:arrowEdge:action:)> to anchor your tip to an element. - Parameters: - tip: The tip to display. - isPresented: A binding that will automatically update to true when a tip is displayed. This value can be changed to temporarily hide or show a currently displayable tip. If this value is `nil`, the view will automatically disappear based on the tip's status and display rules. - arrowEdge: The edge of the tip view that displays the arrow. - anchorID: The identifier used to read the `.bounds` of the anchoring view. - action: The closure to perform when the user triggers a tip's action.

init · iOS 18.0+

init

TypeScript
static initArrowEdgeAction(tip?: (SDKHandle) | null, arrowEdge?: (_SwiftUICore_Edge) | null, action?: ((arg0: Tips_Action) => void)): Promise<TipView<AnyTip>>
Swift declaration
@MainActor @preconcurrency init(_ tip: (any Tip)?, arrowEdge: Edge? = nil, action: @escaping @MainActor @Sendable (Tips.Action) -> Void = { _ in }) where Content == AnyTip

Creates a tip view with an optional arrow.

method · iOS 17.0+

sendDonation

TypeScript
sendDonation(donation: number, completion?: ((() => void)) | null): void
Swift declaration
func sendDonation(_ donation: DonationInfo, _ completion: (@Sendable () -> Void)? = nil)

Asynchronously donates an event along with its associated `Donation` value. - Parameters: - donation: Associated donation value. - completion: Called upon completion of the event donation.

method · iOS 17.0+

sendDonation

TypeScript
sendDonation24251(completion?: ((() => void)) | null): void
Swift declaration
func sendDonation(_ completion: (@Sendable () -> Void)? = nil) where DonationInfo == Tips.EmptyDonation

Asynchronously donates an event with no associated `Donation` value. - Parameters: - completion: Called upon completion of the event donation.

method · iOS 26.0+

deleteDonations

TypeScript
deleteDonations(): Promise<void>
Swift declaration
func deleteDonations() async throws

Deletes an event's existing donations.

init · iOS 26.0+

init

TypeScript
static initIdDonationLimit(id: string, donationLimit: Tips_DonationLimit): Tips_Event<Tips_EmptyDonation>
Swift declaration
init(id: String, donationLimit: Tips.DonationLimit) where DonationInfo == Tips.EmptyDonation

Creates an event. - Parameters: - id: Unique identifier for persisting the event and its donations. - donationLimit: Maximum number and maximum age of donations this event will persist and query.

init · iOS 26.0+

init

TypeScript
static initIdDonationLimit30434(id: string, donationLimit: Tips_DonationLimit): Tips_Event<number>
Swift declaration
init(id: String, donationLimit: Tips.DonationLimit)

Creates an event with an associated donation value. - Parameters: - id: Unique identifier for persisting the event and its donations. - donationLimit: Maximum number and maximum age of donations this event will persist and query.

init · iOS 17.0+

init

TypeScript
static initId(id: string): Tips_Event<Tips_EmptyDonation>
Swift declaration
init(id: String) where DonationInfo == Tips.EmptyDonation

Creates an event. - Parameters: - id: Unique identifier for persisting the event and its donations.

init · iOS 17.0+

init

TypeScript
static initId86586(id: string): Tips_Event<number>
Swift declaration
init(id: String)

Creates an event with an associated donation value. - Parameters: - id: Unique identifier for persisting the event and its donations.

method · iOS 17.0+

donate

TypeScript
donate(): Promise<void>
Swift declaration
func donate() async where DonationInfo == Tips.EmptyDonation

Donates an event with no associated `Donation` value.

method · iOS 17.0+

donate

TypeScript
donate76458(donation: number): Promise<void>
Swift declaration
func donate(_ donation: DonationInfo) async

Donates an event along with its associated `Donation` value. - Parameters: - donation: Associated donation value.

subscript · iOS 17.0+

subscript

TypeScript
subscript(keyPath: SDKHandle): unknown
Swift declaration
subscript<Value>(dynamicMember keyPath: KeyPath<DonationInfo, Value>) -> Value { get }
get · iOS 17.0+

date

TypeScript
get date(): globalThis.Date
Swift declaration
let date: Date
get · iOS 17.0+

donations

TypeScript
get donations(): Array<Tips_Event_Donation<number>>
Swift declaration
var donations: [Tips.Event<DonationInfo>.Donation] { get }

Skipped declarations

24 declarations were excluded from these bindings. Each reason comes from the generator or the iOS SDK compiler.

Sequence.donatedWithin(_:)

This declaration needs Swift generic type arguments. (no canonical witness for DonationInfo)

Sequence.largestSubset(groupedBy:)

This declaration needs Swift generic type arguments. (no canonical witness for DonationInfo)

Sequence.smallestSubset(groupedBy:)

This declaration needs Swift generic type arguments. (no canonical witness for DonationInfo)

View.popoverTip(_:isPresented:attachmentAnchor:arrowEdge:action:)

This protocol needs associated types that cannot yet cross the bridge.

View.popoverTip(_:isPresented:attachmentAnchor:arrowEdges:action:)

This protocol needs associated types that cannot yet cross the bridge.

View.popoverTip(_:arrowEdge:action:)

This protocol needs associated types that cannot yet cross the bridge.

View.tipBackground(_:)

This protocol needs associated types that cannot yet cross the bridge.

View.tipCornerRadius(_:antialiased:)

This protocol needs associated types that cannot yet cross the bridge.

View.tipAnchor(_:)

This protocol needs associated types that cannot yet cross the bridge.

View.tipBackgroundInteraction(_:)

This protocol needs associated types that cannot yet cross the bridge.

View.tipImageSize(_:)

This protocol needs associated types that cannot yet cross the bridge.

View.tipImageStyle(_:)

This protocol needs associated types that cannot yet cross the bridge.

View.tipImageStyle(_:_:)

This protocol needs associated types that cannot yet cross the bridge.

View.tipImageStyle(_:_:_:)

This protocol needs associated types that cannot yet cross the bridge.

View.tipViewStyle(_:)

This protocol needs associated types that cannot yet cross the bridge.

MiniTipViewStyle.makeBody(configuration:)

This protocol needs associated types that cannot yet cross the bridge.

TipViewStyle.miniTip

Static protocol requirements cannot be called through an instance.

Tips.Action.init(id:perform:_:)

callback cannot propagate synchronous failure

TipGroup.init(_:_:)

callback cannot propagate synchronous failure

TipView.body

This protocol needs associated types that cannot yet cross the bridge.

Tips.showTipsForTesting(_:)

Passing a Swift type itself is not supported.

Tips.hideTipsForTesting(_:)

Passing a Swift type itself is not supported.

protocol implementation Tip

non-method protocol requirement

protocol implementation TipViewStyle

This protocol needs associated types that cannot yet cross the bridge.