---
title: Fetching and displaying managed apps
framework: managedappdistribution
role: article
role_heading: Article
path: managedappdistribution/fetching-and-displaying-managed-apps
---

# Fetching and displaying managed apps

Provide a consistent app presentation when displaying managed apps.

## Overview

Overview Your app can take advantage of Managed App Distribution features to display download status and launch apps. Obtain a list of ManagedApp objects, then display that list of apps in a custom view. Fetching This code snippet defines a model that obtains a list of apps from a ManagedAppLibrary. import ManagedAppDistribution import Observation

// Define a model that obtains a list of managed apps. @Observable final class ViewModel {     var content: [Content] = []     enum Content {         case managedApp(ManagedApp), developerContent(title: String, action: () -> Void)     }

func getApps() async {         do {             for try await result in ManagedAppLibrary.currentDistributor.availableApps {                 content = try result.get().map(Content.managedApp)             }         } catch {             // Handle errors here.         }     } } Displaying After you fetch the list of apps from the model, display them in a compact content style within your custom view.

This code snippet demonstrates how to display the list of apps. import ManagedAppDistribution import SwiftUI

struct AppList: View {     private var viewModel = ViewModel()     var body: some View {         List(viewModel.content) { content in             switch content {             case let .managedApp(managedApp):                  ManagedAppView(app: managedApp)             case let .developerContent(title, action):                  ManagedContentView(primaryText: title, offerState: .custom("Request"), offerAction: action) {                     Image(name: "custom")                 }             }         }         .managedContentStyle(.compact)         .task { await viewModel.getApps() }     } }

## See Also

### Essentials

- [ManagedApp](managedappdistribution/managedapp.md)
- [ManagedAppLibrary](managedappdistribution/managedapplibrary.md)
