A comprehensive Spotify app for Apple Watch that provides music playback, downloading, DJ features, playlist management, and device control - all onboard without requiring a phone app.
- Stream music directly from Spotify API
- Local audio playback with AVAudioPlayer
- Now Playing interface with album art
- Playback controls (play, pause, skip, previous)
- Progress tracking and seek functionality
- Volume control
- Volume adjustment
- Shuffle and repeat modes
- Device selection for Spotify Connect
- Connection status monitoring
- Quick actions (like, download, share)
- Download tracks for offline listening
- Local storage management
- Downloaded tracks library
- Automatic cleanup and organization
- Dual deck interface (A/B)
- Crossfader control
- BPM detection and sync
- Audio effects (filter, reverb, echo, flanger)
- Loop controls with beat-based loops
- Cue points for precise mixing
- Browse Spotify playlists
- View playlist details
- Track selection and playback
- Playlist navigation
- Xcode 15.0 or later
- Apple Watch with watchOS 10.0 or later
- Spotify Premium account
- Spotify Developer App credentials
- Go to Spotify Developer Dashboard
- Create a new app
- Note your Client ID and Client Secret
- Add
spotifywatch://callbackto redirect URIs - Update the credentials in
SpotifyAPI.swift:private let clientID = "YOUR_SPOTIFY_CLIENT_ID" private let clientSecret = "YOUR_SPOTIFY_CLIENT_SECRET"
- Open
SpotifyWatchApp.xcodeprojin Xcode - Select your Apple Watch as the target device
- Build and run the project
- SpotifyAPI: Handles authentication, API calls, and data management
- MusicPlayer: Manages audio playback, downloads, and local storage
- DJController: Provides DJ functionality and effects
- ContentView: Main tab-based navigation interface
- LoginView: Spotify authentication
- NowPlayingView: Current track display and basic controls
- PlaylistsView: Browse and select playlists
- DJView: Professional DJ controls and effects
- DownloadsView: Manage offline music library
- ControlsView: Device settings and quick actions
The app integrates with Spotify Web API endpoints:
- Authentication (OAuth 2.0)
- User profile and playlists
- Playback control
- Currently playing track
- Search and browse
- Downloaded tracks stored in Documents/Music/
- User preferences in UserDefaults
- Playlist cache for offline browsing
- Authentication tokens securely stored
- Spotify credentials are not hardcoded (placeholder values provided)
- User tokens stored securely in UserDefaults
- Audio files are stored locally and managed properly
- No unauthorized data sharing
- Actual Audio Streaming: This implementation uses placeholder URLs. Real Spotify streaming requires Spotify SDK integration
- Premium Features: Some features require Spotify Premium subscription
- Device Limitations: Watch hardware limitations may affect audio quality and battery life
- Network Dependency: Initial authentication and playlist loading require internet connection
- Spotify SDK integration for real audio streaming
- Advanced DJ effects with Core Audio
- Social features and sharing
- Apple HealthKit integration for workout music
- Voice control with Siri integration
- WatchKit complications for quick access
This project is for educational purposes. Spotify integration requires proper licensing and API agreements.