<!--
{
  "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/AssetPackManager/checkForUpdates()",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "Background Assets"
    ],
    "preciseIdentifier" : "s:16BackgroundAssets16AssetPackManagerC15checkForUpdatesShySSG11updatingIDs_AE07removedJ0tyYaKF"
  },
  "title" : "checkForUpdates()"
}
-->

# checkForUpdates()

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

```
@discardableResult func checkForUpdates() async throws -> (updatingIDs: Set<String>, removedIDs: Set<String>)
```

## Return Value

A 2-tuple with the set of IDs of asset packs that are being updated and the set of IDs of asset packs that were removed as a result of the check for updates. Neither updates nor removals that weren’t triggered by the check for updates are taken into account.

## Discussion

This method waits for any downloads that it schedules to be registered with the download manager, but it doesn’t wait for those downloads to begin or to finish. If you want to monitor download progress, then you should await status updates on [`statusUpdates`](/documentation/BackgroundAssets/AssetPackManager/statusUpdates) or [`statusUpdates(forAssetPackWithID:)`](/documentation/BackgroundAssets/AssetPackManager/statusUpdates(forAssetPackWithID:)).

---

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)