MuzakKit is a SwiftUI-based iOS demo app that integrates with Apple Music through the MusicKit framework. The app allows users to explore music recommendations, search the Apple Music catalog or their personal library. It also provides detailed pages for albums, artists, and playlists, as well as the ability to play music if the user has an active Apple Music subscription.
- App design is a simplified version of the Apple Music App.
- This demo app is a work in progress, code refactor passes will happen and features will be added or improved:
Music player improvements with animation and layout.✅Add more error handling (view container for loading state)✅- Add blocking screen for users that don't have an apple music subsription.
- Improved playlist features: editing and creating.
- General code cleanup.
- Fix mocked data for SwiftUI previews.
- This app was built to experiment with SwiftUI features by building a complete app that connects to a framework (in this case MusicKit).
- This app loosely followed the MV pattern for state management.
- Browse Page: Display music recommendations from Apple Music based on the user's preferences.
- Search Page: Search the Apple Music catalog or user's personal library (Playlists, Albums, Artists, Genres).
- Library Page: View saved music content such as:
- Playlists
- Albums
- Artists
- Genres
- Detail Pages:
- Album details with track listing
- Artist details with discography
- Playlist details with track listing
- Music Playback: Play music directly from the Apple Music catalog if the user has an active subscription.
- Apple Developer Account: Required for using MusicKit and accessing the Apple Music API.
- Apple Music Subscription: Required to play music and access full playback features.
- Xcode 15+: The app is built with SwiftUI with a minimum build target of iOS 17 and requires Xcode 15 or later for building and running.
- Fetches and displays curated music recommendations from Apple Music, allowing users to discover new tracks, albums, and playlists based on their tastes.
- Users can search the Apple Music catalog for music or search their own library for saved content.
- Music results display cover art, titles, and allow users to quickly navigate to albums, artists, or playlists.
- Shows a categorized view of the user's saved content in Apple Music.
- Playlists: A list of user-created or saved playlists.
- Albums: A list of albums the user has added to their library.
- Artists: A list of artists the user follows or has saved.
- Genres: A list of music genres saved by the user.
- Each item (album, artist, or playlist) has a dedicated detail page showing more information, such as track lists for albums and playlists, or discographies for artists.
- If the user has an Apple Music subscription, they can play full tracks from the Apple Music catalog directly in the app.
- The app supports basic playback features like play, pause, skip, and volume control.
- MusicKit: To interact with the Apple Music API for fetching catalog data and enabling music playback.
- SwiftUI: For building the app’s user interface with a declarative, component-based approach.
player.mov
artist_page.mov
- Thanks to the MusicKit Documentation for the API references and guides.