Installation

In-App Protection SDK for Apple is distributed via Swift Package Manager (SPM) private registry.

In-App Protection SDK for Apple supports iOS 15+.

Personalized Configuration Required.
In order to use In-App Protection SDK for Apple, you need a custom configuration and access credentials for both the service and artifact repository. Contact your sales representative or technical consultant in order to obtain the required prerequisites.

Prerequisities

The private registry requires authentication. You need to authenticate against it using your Wultra Artifactory user name (e.g. [email protected]) and an access token. Choose one of the following options.

First, configure Swift Package Manager to resolve the wultra scope from our registry:

swift package-registry set --global --scope wultra https://wultra.jfrog.io/artifactory/api/swift/iap-sdk-apple

Option 1: Keychain credentials

Store the credentials in the macOS Keychain. This is the recommended option for developer machines.

swift package-registry login https://wultra.jfrog.io/artifactory/api/swift/iap-sdk-apple \
  --username [email protected] \
  --password <JFrog access token>

Xcode and xcodebuild use the Keychain credentials by default.

Option 2: netrc file

Store the credentials in the ~/.netrc file. This option is less secure, because the credentials are saved in plain text. On the other hand, it is easier to use in CI/CD flows, because it does not need any UI interaction (such as the Keychain access prompt).

Add the --netrc parameter to the same login command:

swift package-registry login https://wultra.jfrog.io/artifactory/api/swift/iap-sdk-apple \
  --username [email protected] \
  --password <JFrog access token> \
  --netrc \
  --no-confirm

The command asks for confirmation before writing the credentials to the netrc file. Use the --no-confirm parameter to write them without confirmation, which is necessary in non-interactive CI/CD flows.

Or create (or append to if it already exists) the ~/.netrc file manually:

machine wultra.jfrog.io
      login [email protected]
      password <JFrog access token>

If you use the netrc file and build with xcodebuild, you need to pass the -packageAuthorizationProvider netrc parameter, otherwise xcodebuild reads the credentials from the Keychain only:

xcodebuild -packageAuthorizationProvider netrc -scheme YourScheme build

Further reading

Swift Package Manager

Add the following package as a dependency to your project:

   wultra.iap-sdk-apple

You can use Xcode’s dedicated user interface to do this or add the dependency manually, for example:

   // swift-tools-version:5.10

   import PackageDescription

   let package = Package(
       name: "YourLibrary",
       products: [
           .library(
               name: "YourLibrary",
               targets: ["YourLibrary"]),
       ],
       dependencies: [
           // Replace <version> with the latest version from the Release Notes
           .package(id: "wultra.iap-sdk-apple", .upToNextMajor(from: "<version>"))
       ],
       targets: [
           .target(
               name: "YourLibrary",
               dependencies: [
                   .product(name: "WultraAppProtection", package: "wultra.iap-sdk-apple")
               ])
       ]
   )

You can check the latest versions of the library in the Release Notes.

Last updated on Oct 20, 2026 (15:23) View product

5.0.x

In-App Protection SDK for Apple