<!--
{
  "availability" : [
    "iOS: 26.0.0 -",
    "iPadOS: 26.0.0 -",
    "macCatalyst: 26.0.0 -",
    "macOS: 26.0.0 -",
    "tvOS: 26.0.0 -",
    "visionOS: 26.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "BackgroundAssets",
  "identifier" : "/documentation/BackgroundAssets/BAAssetPackManager",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "Background Assets"
    ],
    "preciseIdentifier" : "c:objc(cs)BAAssetPackManager"
  },
  "title" : "BAAssetPackManager"
}
-->

# BAAssetPackManager

A class that manages asset packs.

```
@interface BAAssetPackManager : NSObject
```

## Overview

The first time that your code refers to the shared manager, Background Assets considers that your application is opting into automatic system management of your asset packs.

> Important: When using the asset-pack manager, make sure that you also adopt the corresponding managed extension protocol. For applications that use Apple hosting, the corresponding protocol is `SKDownloaderExtension` from StoreKit. For other applications, the corresponding protocol is ``doc://com.apple.backgroundassets/documentation/BackgroundAssets/BAManagedDownloaderExtension``. Not adopting the right protocol is a programmer error.

## Topics

### Getting the shared manager

[`sharedManager`](/documentation/BackgroundAssets/BAAssetPackManager/sharedManager)

The shared asset-pack manager.

### Tracking downloads

[`delegate`](/documentation/BackgroundAssets/BAAssetPackManager/delegate)

An object that receives notifications about events that occur as an asset pack is downloaded.

[`BAManagedAssetPackDownloadDelegate`](/documentation/BackgroundAssets/BAManagedAssetPackDownloadDelegate)

An object that handles status updates when downloading an asset pack.

### Accessing asset packs

[`-  getManifestWithCompletionHandler:`](/documentation/BackgroundAssets/BAAssetPackManager/getManifestWithCompletionHandler:)

Gets the manifest of asset packs that are available to download.

[`BAAssetPackManifest`](/documentation/BackgroundAssets/BAAssetPackManifest)

A manifest of asset packs that are available to download.

[`-  getAllAssetPacksWithCompletionHandler:`](/documentation/BackgroundAssets/BAAssetPackManager/getAllAssetPacksWithCompletionHandler:)

Gets the asset packs that are available to download.

[`-  getAssetPackWithIdentifier:completionHandler:`](/documentation/BackgroundAssets/BAAssetPackManager/getAssetPackWithIdentifier:completionHandler:)

Gets the asset pack with the given identifier.

### Accessing asset contents

[`-  contentsAtPath:searchingInAssetPackWithIdentifier:options:error:`](/documentation/BackgroundAssets/BAAssetPackManager/contentsAtPath:searchingInAssetPackWithIdentifier:options:error:)

Returns the contents of an asset file at the specified relative path.

[`-  contentsAtPath:asLocalizedForLanguage:options:error:`](/documentation/BackgroundAssets/BAAssetPackManager/contentsAtPath:asLocalizedForLanguage:options:error:)

Returns the contents of a localized asset file at the specified relative path.

[`-  fileDescriptorForPath:searchingInAssetPackWithIdentifier:error:`](/documentation/BackgroundAssets/BAAssetPackManager/fileDescriptorForPath:searchingInAssetPackWithIdentifier:error:)

Opens and returns a file descriptor for the asset file at the specified relative path.

[`-  fileDescriptorForPath:asLocalizedForLanguage:error:`](/documentation/BackgroundAssets/BAAssetPackManager/fileDescriptorForPath:asLocalizedForLanguage:error:)

Opens and returns a file descriptor for a localized asset file at the specified relative path.

[`-  URLForPath:error:`](/documentation/BackgroundAssets/BAAssetPackManager/URLForPath:error:)

Returns a URL for the specified relative path.

[`-  URLForPath:asLocalizedForLanguage:error:`](/documentation/BackgroundAssets/BAAssetPackManager/URLForPath:asLocalizedForLanguage:error:)

Returns a URL for the specified relative path.

### Managing asset packs

[`-  checkForUpdatesWithCompletionHandler:`](/documentation/BackgroundAssets/BAAssetPackManager/checkForUpdatesWithCompletionHandler:)

Gets the latest asset-pack information from the server, updates outdated asset packs, and removes obsolete asset packs.

[`-  ensureLocalAvailabilityOfAssetPack:completionHandler:`](/documentation/BackgroundAssets/BAAssetPackManager/ensureLocalAvailabilityOfAssetPack:completionHandler:)

Ensures that the specified asset pack is available locally, performing a download if necessary.

[`-  ensureLocalAvailabilityOfAssetPacks:completionHandler:`](/documentation/BackgroundAssets/BAAssetPackManager/ensureLocalAvailabilityOfAssetPacks:completionHandler:)

Ensures that the specified asset packs are available locally.

[`-  ensureLocalAvailabilityOfAssetPack:requireLatestVersion:completionHandler:`](/documentation/BackgroundAssets/BAAssetPackManager/ensureLocalAvailabilityOfAssetPack:requireLatestVersion:completionHandler:)

Ensures that the specified asset pack is available locally, performing a download if necessary.

[`-  ensureLocalAvailabilityOfAssetPacks:requireLatestVersions:completionHandler:`](/documentation/BackgroundAssets/BAAssetPackManager/ensureLocalAvailabilityOfAssetPacks:requireLatestVersions:completionHandler:)

Ensures that the specified asset packs are available locally, performing a batch download if necessary.

[`-  assetPackIsAvailableLocallyWithIdentifier:`](/documentation/BackgroundAssets/BAAssetPackManager/assetPackIsAvailableLocallyWithIdentifier:)

Checks whether the asset pack with the specified identifier is available locally.

[`-  getStatusRelativeToAssetPack:completionHandler:`](/documentation/BackgroundAssets/BAAssetPackManager/getStatusRelativeToAssetPack:completionHandler:)

Gets the current status relative to a particular asset pack.

[`-  getLocalStatusOfAssetPackWithIdentifier:completionHandler:`](/documentation/BackgroundAssets/BAAssetPackManager/getLocalStatusOfAssetPackWithIdentifier:completionHandler:)

Gets an asset pack’s local status.

[`-  removeAssetPackWithIdentifier:completionHandler:`](/documentation/BackgroundAssets/BAAssetPackManager/removeAssetPackWithIdentifier:completionHandler:)

Removes the specified asset pack from the device.

[`-  getStatusOfAssetPackWithIdentifier:completionHandler:`](/documentation/BackgroundAssets/BAAssetPackManager/getStatusOfAssetPackWithIdentifier:completionHandler:)

Gets an asset pack’s status.

### Inspecting language support

[`-  getLocallyAvailableLanguagesWithCompletionHandler:`](/documentation/BackgroundAssets/BAAssetPackManager/getLocallyAvailableLanguagesWithCompletionHandler:)

Gets the languages used by asset packs that are localized and are available locally.

[`resolvedLanguage`](/documentation/BackgroundAssets/BAAssetPackManager/resolvedLanguage)

The language asset packs that are localized for which the system automatically makes available locally, represented as a BCP-47 identifier.

[`-  reconcilePreferredLanguagesWithCompletionHandler:`](/documentation/BackgroundAssets/BAAssetPackManager/reconcilePreferredLanguagesWithCompletionHandler:)

Reconciles the set of locally available asset packs with the current preferred languages.

## Relationships

### Inherits From

[`NSObject-swift.class`](/documentation/ObjectiveC/NSObject-swift.class)

---

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)