<!--
{
  "availability" : [
    "iOS: 17.4.0 -",
    "iPadOS: 17.4.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "marketplacekit",
  "identifier" : "/documentation/MarketplaceKit/AppLibrary",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "MarketplaceKit"
    ],
    "preciseIdentifier" : "s:14MarketplaceKit10AppLibraryC"
  },
  "title" : "AppLibrary"
}
-->

# AppLibrary

A class that represents a catalog of all installed apps, and offers various services for the apps that your marketplace distributes.

```
@MainActor final class AppLibrary
```

## Overview

Alternative app marketplaces call methods of this class to retrieve the set of currently installed apps, to request the installation of available apps, or to update the license for a specific app. Browser apps that use an alternative browser engine make a call to this class to install alternative app marketplaces from a webpage. You can also customize Spotlight search results and manage age-rating exception requests to install apps with an age rating beyond the maximum allowed for the device.

## Observe runtime changes

The class is observable (through <doc://com.apple.documentation/documentation/SwiftUI> or the <doc://com.apple.documentation/documentation/Observation> framework), so you can provide reactive updates when finishing, installing, updating, or loading (see [`isLoading`](/documentation/MarketplaceKit/AppLibrary/isLoading)).

> Important: iOS ignores calls to this class for apps that lack one of the required entitlements: <doc://com.apple.documentation/documentation/BundleResources/Entitlements/com.apple.developer.marketplace.app-installation>, or <doc://com.apple.documentation/documentation/BundleResources/Entitlements/com.apple.developer.browser.app-installation>.

## Topics

### Accessing app library and account authorization information

[`current`](/documentation/MarketplaceKit/AppLibrary/current)

A global accessor for the device’s app library instance.

[`didAuthenticate(account:)`](/documentation/MarketplaceKit/AppLibrary/didAuthenticate(account:))

Instructs iOS to reinstall an app after a required reuthorization completes.

### Managing app installation

[`AppLibrary.App`](/documentation/MarketplaceKit/AppLibrary/App)

Information about an app that someone installs from a marketplace, including its ID and installation status.

[`AppLibrary.InstallationRequest`](/documentation/MarketplaceKit/AppLibrary/InstallationRequest)

A request to install an app distribution package for a given account.

[`installingApps`](/documentation/MarketplaceKit/AppLibrary/installingApps)

The set of apps that are pending installation completion.

[`isLoading`](/documentation/MarketplaceKit/AppLibrary/isLoading)

A Boolean value that indicates whether the library is currently loading apps.

[`requestAppInstallation(_:)`](/documentation/MarketplaceKit/AppLibrary/requestAppInstallation(_:))

Requests the installation of the given app distribution package for the given account.

[`requestAppInstallationFromBrowser(for:referrer:)`](/documentation/MarketplaceKit/AppLibrary/requestAppInstallationFromBrowser(for:referrer:))

Forwards an app installation request from the developer’s webpage.

### Accessing installed apps

[`app(forAppleItemID:)`](/documentation/MarketplaceKit/AppLibrary/app(forAppleItemID:))

Provides the app for the given app identifier.

[`installedApps`](/documentation/MarketplaceKit/AppLibrary/installedApps)

The set of apps installed by the alternative app marketplace.

### Checking for age-rating based content restrictions

[`maximumAllowedAgeRating`](/documentation/MarketplaceKit/AppLibrary/maximumAllowedAgeRating)

An age rating that specifies the maximum rating set for content on the device.

[`AppLibrary.ExceptionRequest`](/documentation/MarketplaceKit/AppLibrary/ExceptionRequest)

A structure that describes an app that a person requests permission to install.

[`currentAgeExceptionRequests()`](/documentation/MarketplaceKit/AppLibrary/currentAgeExceptionRequests())

Returns a list of requests to install apps that exceed the maximum allowed age rating for the device.

### Filtering app searches

[`searchTerritory`](/documentation/MarketplaceKit/AppLibrary/searchTerritory)

A country code that the framework uses to filter the search results of apps that aren’t available in that country.

[`setSearchTerritory(_:)`](/documentation/MarketplaceKit/AppLibrary/setSearchTerritory(_:))

Defines a country code that iOS uses to filter the search results of apps that aren’t available in that country.

### Updating apps

[`requestAppUpdate(_:)`](/documentation/MarketplaceKit/AppLibrary/requestAppUpdate(_:))

Requests an app update for the given app distribution package and account information.

[`requestLicenseRenewal(appleItemIDs:)`](/documentation/MarketplaceKit/AppLibrary/requestLicenseRenewal(appleItemIDs:))

Instructs iOS to request an updated app license from your marketplace server for the given app identifier.

### Determining device region

[`catalogRegion`](/documentation/MarketplaceKit/AppLibrary/catalogRegion)

A country code for the device’s current region.

### Deprecated

[`requestAppInstallation(for:account:installVerificationToken:)`](/documentation/MarketplaceKit/AppLibrary/requestAppInstallation(for:account:installVerificationToken:))

[`requestAppUpdate(for:account:installVerificationToken:)`](/documentation/MarketplaceKit/AppLibrary/requestAppUpdate(for:account:installVerificationToken:))



---

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)