<!--
{
  "availability" : [
    "iOS: -",
    "iPadOS: -",
    "macCatalyst: 26.4.0 -",
    "macOS: 26.4.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "ManagedAppDistribution",
  "identifier" : "/documentation/ManagedAppDistribution/ManagedPackageLibrary/availablePackages",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "ManagedAppDistribution"
    ],
    "preciseIdentifier" : "s:22ManagedAppDistribution0A14PackageLibraryC17availablePackagesAC0aG0Vvp"
  },
  "title" : "availablePackages"
}
-->

# availablePackages

The current managed apps available to this device.

```
final var availablePackages: ManagedPackageLibrary.ManagedPackages { get }
```

## Discussion

The current managed packages are of type `Result<[ManagedPackage], ManagedAppDistributionError>`. Use an
asynchronous `for` loop to update your views when the current managed packages change.
If the device can’t retrieve the metadata for the packages, fetching the list of managed packages fails with `ManagedAppDistributionError.networkError`. An example of this failure is if the device is offline.

> Note: The async sequence returns an error and the sequence ends.

---

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)