Miniwall Docs
Mobile SDK

iOS

Platform guide for the Miniwall iOS SDK, covering requirements, StoreKit 2, SwiftUI, UIKit and the privacy manifest.

The iOS SDK is the Swift package MiniwallSDK. It draws screens with SwiftUI and has no third-party dependencies. It needs iOS 16 or later and Swift 5.9. Installation shows how to add it and call configure.

Everything in the other Mobile SDK pages applies. This page collects what is specific to iOS.

Calls at a glance

WhatCall
Set upMiniwall.configure(apiKey:options:)
Show a screentry await Miniwall.present(placement:options:), Miniwall.present(_:options:from:)
Embed a screenMiniwallView(source, options:onFinish:)
Load aheadawait Miniwall.preload(placements:)
Auto placementsMiniwall.startAutoPlacements(options:onResult:), Miniwall.track(_:)
AttributesMiniwall.setAttributes(_:)
After an outside purchaseMiniwall.reportPurchase(packageId:paywallId:)
Forget the userMiniwall.reset(placements:)
Package IDs of a screenMiniwall.packageIds(in:)

present and the auto placements calls run on the main actor.

StoreKit 2

Miniwall.products(from:), Miniwall.storeKitPurchase(_:) and Miniwall.storeKitRestore() connect StoreKit 2 to a screen. See Purchases and prices. Using them is optional.

UIKit

present finds the top view controller and presents the screen over it. Pass from: to choose the presenter:

let result = try await Miniwall.present(.placement("upgrade_button"), options: options, from: self)

To embed in UIKit, host MiniwallView in a UIHostingController.

Display

A full-screen cover, a page sheet (a form sheet on iPad), a sheet as tall as the content, a banner or a toast, depending on the placement. See Display modes.

Privacy manifest

The package includes PrivacyInfo.xcprivacy. See Events and privacy.

On this page