View in English

  • Apple Developer
    • Get Started

    Explore Get Started

    • Overview
    • Learn
    • Apple Developer Program

    Stay Updated

    • Latest News
    • Hello Developer
    • Platforms

    Explore Platforms

    • Apple Platforms
    • iOS
    • iPadOS
    • macOS
    • tvOS
    • visionOS
    • watchOS
    • App Store

    Featured

    • Design
    • Distribution
    • Games
    • Accessories
    • Web
    • Home
    • CarPlay
    • Technologies

    Explore Technologies

    • Overview
    • Xcode
    • Swift
    • SwiftUI

    Featured

    • Accessibility
    • App Intents
    • Apple Intelligence
    • Games
    • Machine Learning & AI
    • Security
    • Xcode Cloud
    • Community

    Explore Community

    • Overview
    • Meet with Apple events
    • Community-driven events
    • Developer Forums
    • Open Source

    Featured

    • WWDC
    • Swift Student Challenge
    • Developer Stories
    • App Store Awards
    • Apple Design Awards
    • Apple Developer Centers
    • Documentation

    Explore Documentation

    • Documentation Library
    • Technology Overviews
    • Sample Code
    • Human Interface Guidelines
    • Videos

    Release Notes

    • Featured Updates
    • iOS
    • iPadOS
    • macOS
    • watchOS
    • visionOS
    • tvOS
    • Xcode
    • Downloads

    Explore Downloads

    • All Downloads
    • Operating Systems
    • Applications
    • Design Resources

    Featured

    • Xcode
    • TestFlight
    • Fonts
    • SF Symbols
    • Icon Composer
    • Support

    Explore Support

    • Overview
    • Help Guides
    • Developer Forums
    • Feedback Assistant
    • Contact Us

    Featured

    • Account Help
    • App Review Guidelines
    • App Store Connect Help
    • Upcoming Requirements
    • Agreements and Guidelines
    • System Status
  • Quick Links

    • Events
    • News
    • Forums
    • Sample Code
    • Videos
 

Vídeos

Abrir menu Fechar menu
  • Coleções
  • Todos os vídeos
  • Sobre

Mais vídeos

  • Sobre
  • Código
  • Meet MusicKit for Swift

    MusicKit makes it easy to integrate Apple Music into your app. Explore the Swift-based framework: We'll take you through the basic process of using MusicKit — including how to find, request, and play content — and show you how you can incorporate music subscription workflows into your app if someone hasn't yet signed up to Apple Music.

    Recursos

    • Using MusicKit to Integrate with Apple Music
    • MusicKit
      • Vídeo HD
      • Vídeo SD

    Vídeos relacionados

    WWDC22

    • Explore more content with MusicKit

    WWDC21

    • Discover concurrency in SwiftUI
    • Explore ShazamKit
    • Explore the catalog with the Apple Music API
  • Buscar neste vídeo...
    • 2:56 - Loading and accessing relationships

      // Loading and accessing relationships
      
      let detailedAlbum = try await album.with([.artists, .tracks, .relatedAlbums])
      print("\(detailedAlbum)")
      
      if let tracks = detailedAlbum.tracks {
          print("  Tracks:")
          tracks.prefix(2).forEach { track in
              print("    \(track)")
          }
      }
    • 3:31 - Loading and accessing associations

      // Loading and accessing associations
      
      let detailedAlbum = try await album.with([.artists, .tracks, .relatedAlbums])
      print("\(detailedAlbum)")
      
      if let relatedAlbums = detailedAlbum.relatedAlbums {
          print("  \(relatedAlbums.title ?? ""):")
          relatedAlbums.prefix(2).forEach { relatedAlbum in
              print("    \(relatedAlbum)")
          }
      }
    • 9:02 - Loading top level genres

      // Loading top level genres
      
      struct MyGenresResponse: Decodable {
          let data: [Genre]
      }
      
      let countryCode = try await MusicDataRequest.currentCountryCode
      let url = URL(string: "https://api.music.apple.com/v1/catalog/\(countryCode)/genres")!
      
      let dataRequest = MusicDataRequest(urlRequest: URLRequest(url: url))
      let dataResponse = try await dataRequest.response()
      
      let decoder = JSONDecoder()
      let genresResponse = try decoder.decode(MyGenresResponse.self, from: dataResponse.data)
      print("\(genresResponse.data[9])")
    • 10:49 - Requesting user consent for MusicKit

      // Requesting user consent for MusicKit
      
      @State var isAuthorizedForMusicKit = false
      
      func requestMusicAuthorization() {
          detach {
              let authorizationStatus = await MusicAuthorization.request()
              if authorizationStatus == .authorized {
                  isAuthorizedForMusicKit = true
              } else {
                  // User denied permission.
              }
          }
      }
    • 12:54 - Using music subscription to drive state of a play button

      // Using music subscription to drive state of a play button
      
      @State var musicSubscription: MusicSubscription?
      
      var body: some View {
          Button(action: handlePlayButtonSelected) {
              Image(systemName: "play.fill")
          }
          .disabled(!(musicSubscription?.canPlayCatalogContent ?? false))
          .task {
              for await subscription in MusicSubscription.subscriptionUpdates {
                  musicSubscription = subscription
              }
          }
      }
    • 15:34 - Showing contextual music subscription offer

      // Showing contextual music subscription offer
      
      @State var musicSubscription: MusicSubscription?
      @State var isShowingOffer = false
      
      var offerOptions: MusicSubscriptionOffer.Options {
          var offerOptions = MusicSubscriptionOffer.Options()
          offerOptions.itemID = album.id
          return offerOptions
      }
      
      var body: some View {
          Button("Show Subscription Offers", action: showSubscriptionOffer)
              .disabled(!(musicSubscription?.canBecomeSubscriber ?? false))
              .musicSubscriptionOffer(isPresented: $isShowingOffer, options: offerOptions)
      }
      
      func showSubscriptionOffer() {
          isShowingOffer = true
      }

Developer Footer

  • Vídeos
  • WWDC21
  • Meet MusicKit for Swift
  • Open Menu Close Menu
    • iOS
    • iPadOS
    • macOS
    • tvOS
    • visionOS
    • watchOS
    • App Store
    Open Menu Close Menu
    • Swift
    • SwiftUI
    • Swift Playground
    • TestFlight
    • Xcode
    • Xcode Cloud
    • Icon Composer
    • SF Symbols
    Open Menu Close Menu
    • Accessibility
    • Accessories
    • Apple Intelligence
    • Audio & Video
    • Augmented Reality
    • Business
    • Design
    • Distribution
    • Education
    • Games
    • Health & Fitness
    • In-App Purchase
    • Localization
    • Maps & Location
    • Machine Learning & AI
    • Security
    • Safari & Web
    Open Menu Close Menu
    • Documentation
    • Downloads
    • Sample Code
    • Videos
    Open Menu Close Menu
    • Help Guides & Articles
    • Contact Us
    • Forums
    • Feedback & Bug Reporting
    • System Status
    Open Menu Close Menu
    • Apple Developer
    • App Store Connect
    • Certificates, IDs, & Profiles
    • Feedback Assistant
    Open Menu Close Menu
    • Apple Developer Program
    • Apple Developer Enterprise Program
    • App Store Small Business Program
    • MFi Program
    • Mini Apps Partner Program
    • News Partner Program
    • Video Partner Program
    • Security Bounty Program
    • Security Research Device Program
    Open Menu Close Menu
    • Meet with Apple
    • Apple Developer Centers
    • App Store Awards
    • Apple Design Awards
    • Apple Developer Academies
    • WWDC
    Read the latest news.
    Get the Apple Developer app.
    Copyright © 2026 Apple Inc. All rights reserved.
    Terms of Use Privacy Policy Agreements and Guidelines