<!--
{
  "availability" : [
    "iOS: 14.0.0 -",
    "iPadOS: 14.0.0 -",
    "macCatalyst: 14.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "StoreKit",
  "identifier" : "/documentation/StoreKit/SKOverlay",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "StoreKit"
    ],
    "preciseIdentifier" : "c:objc(cs)SKOverlay"
  },
  "title" : "SKOverlay"
}
-->

# SKOverlay

A class that displays an overlay you can use to recommend another app or an App Clip’s corresponding full app.

```
class SKOverlay
```

## Overview

By displaying an overlay, you can recommend another app to users and enable them to download it immediately. To recommend media that’s not an app, or to display a product page within your app, use [`SKStoreProductViewController`](/documentation/StoreKit/SKStoreProductViewController).

> Important:
> If you display an overlay in your App Clip, you may only recommend the App Clip’s corresponding full app and need to initialize the overlay with an ``doc://com.apple.storekit/documentation/StoreKit/SKOverlay/AppClipConfiguration`` object. For more information, see <doc://com.apple.documentation/documentation/AppClip/recommending-your-app-to-app-clip-users>.

If you’re using SwiftUI, make use of the `appStoreOverlay(isPresented:configuration:)` modifier. For example usage, see <doc://com.apple.documentation/documentation/AppClip/fruta-building-a-feature-rich-app-with-swiftui>.

To display an App Store overlay in an app that uses <doc://com.apple.documentation/documentation/UIKit>:

1. Create an [`SKOverlay.AppConfiguration`](/documentation/StoreKit/SKOverlay/AppConfiguration) with the iTunes identifier of the app you want to recommend.
2. Initialize `SKOverlay` with the configuration object.
3. Present the overlay.

The following code displays an overlay at the bottom of the visible scene:

```swift
func displayOverlay() {
    guard let scene = view.window?.windowScene else { return }

    let config = SKOverlay.AppConfiguration(appIdentifier: "The iTunes identifier of another app.", position: .bottom)
    let overlay = SKOverlay(configuration: config)
    overlay.present(in: scene)
}
```

To respond to the overlay’s appearance, dismissal, or failure to load, set the [`delegate`](/documentation/StoreKit/SKOverlay/delegate) and implement the methods defined in [`SKOverlayDelegate`](/documentation/StoreKit/SKOverlayDelegate).

> Note:
> App extensions can’t display an overlay.

## Topics

### Creating an overlay

[`init(configuration:)`](/documentation/StoreKit/SKOverlay/init(configuration:))

Creates an overlay you use to recommend another app on the App Store.

[`configuration`](/documentation/StoreKit/SKOverlay/configuration-swift.property)

An overlay’s attributes; for example, its position on the screen.

[`SKOverlay.AppConfiguration`](/documentation/StoreKit/SKOverlay/AppConfiguration)

An object that represents the attributes of an overlay you use to recommend another app on the App Store.

[`SKOverlay.AppClipConfiguration`](/documentation/StoreKit/SKOverlay/AppClipConfiguration)

An object that represents the attributes of an overlay you use to recommend an App Clip’s corresponding full app.

[`SKOverlay.Configuration`](/documentation/StoreKit/SKOverlay/Configuration-swift.class)

The abstract superclass for all classes that represent an overlay’s attributes.

### Presenting an overlay

[`present(in:)`](/documentation/StoreKit/SKOverlay/present(in:))

Presents an overlay in a window scene.

### Dismissing an overlay

[`dismiss(in:)`](/documentation/StoreKit/SKOverlay/dismiss(in:))

Dismisses an App Store overlay.

### Setting a delegate

[`delegate`](/documentation/StoreKit/SKOverlay/delegate)

The overlay’s delegate.

[`SKOverlayDelegate`](/documentation/StoreKit/SKOverlayDelegate)

Methods for responding to the overlay’s appearance, dismissal, or failure to load.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)