---
title: "musicPicker(isPresented:title:selection:)"
framework: swiftui
role: symbol
role_heading: Instance Method
path: "swiftui/view/musicpicker(ispresented:title:selection:)"
---

# musicPicker(isPresented:title:selection:)

Presents a music picker to select items from the Apple Music catalog and the user’s music library.

## Declaration

```swift
@MainActor @preconcurrency func musicPicker<Selection>(isPresented: Binding<Bool>, title: Text? = nil, selection: Binding<MusicItemCollection<Selection>>) -> some View where Selection : PickableMusicItem

```

## Parameters

- `isPresented`: The binding to whether the music picker should be shown.
- `title`: The title to be shown in the navigation bar.
- `selection`: The selected music items.

## Discussion

Discussion Example: struct MusicPickerButton: View {     @State private var isShowingMusicPicker = false     @State private var selectedSongs: MusicItemCollection<Song> = []     private var title = "Add to Playlist"

var body: some View {         Button("Pick one or more songs") {             isShowingMusicPicker = true         }         .musicPicker(             isPresented: $isShowingMusicPicker,             title: Text(title),              selection: $selectedSongs         )         .onChange(of: selectedSongs) { oldValue, newValue in             let delta = newValue.count - oldValue.count             print("You selected \(delta) new tracks!")         }     } }

## See Also

### Interacting with the App Store and Apple Music

- [appStoreOverlay(isPresented:configuration:)](swiftui/view/appstoreoverlay(ispresented:configuration:).md)
- [manageSubscriptionsSheet(isPresented:)](swiftui/view/managesubscriptionssheet(ispresented:).md)
- [refundRequestSheet(for:isPresented:onDismiss:)](swiftui/view/refundrequestsheet(for:ispresented:ondismiss:).md)
- [offerCodeRedemption(options:isPresented:onCompletion:)](swiftui/view/offercoderedemption(options:ispresented:oncompletion:).md)
- [musicSubscriptionOffer(isPresented:options:onLoadCompletion:)](swiftui/view/musicsubscriptionoffer(ispresented:options:onloadcompletion:).md)
- [currentEntitlementTask(for:priority:action:)](swiftui/view/currententitlementtask(for:priority:action:).md)
- [inAppPurchaseOptions(_:)](swiftui/view/inapppurchaseoptions(_:).md)
- [manageSubscriptionsSheet(isPresented:subscriptionGroupID:)](swiftui/view/managesubscriptionssheet(ispresented:subscriptiongroupid:).md)
- [onInAppPurchaseCompletion(perform:)](swiftui/view/oninapppurchasecompletion(perform:).md)
- [onInAppPurchaseStart(perform:)](swiftui/view/oninapppurchasestart(perform:).md)
- [productIconBorder()](swiftui/view/producticonborder().md)
- [productViewStyle(_:)](swiftui/view/productviewstyle(_:).md)
- [productDescription(_:)](swiftui/view/productdescription(_:).md)
- [storeButton(_:for:)](swiftui/view/storebutton(_:for:).md)
- [storeProductTask(for:priority:action:)](swiftui/view/storeproducttask(for:priority:action:).md)
