iOS SDK Beta
Important: The iOS SDK is currently in Beta. The content and functionality may change without warning in future versions.
By using Spotify developer tools, you accept our Developer Terms of Service.
The iOS SDK is explicitly prohibited from use for in-car apps, alarm clock apps, ring-tone apps, voice-assistants, broadcast aka “listen together” apps, and to create offline experiences for wearable or other devices.
About the iOS SDK
The Spotify iOS SDK makes it easy to add Spotify functionality to your iOS app. The SDK consists of three binary libraries and a set of API header files. It is packaged as an Xcode project and includes APIs for:
- User authentication
- Audio playback and stream management
- Metadata (artist, album, track) lookup including artwork
- Playlist management
- User’s Your Music Library management
The iOS SDK binary takes care of all negotiation with backend Spotify services, including digital rights management and decoding. It delivers audio as a PCM stream ready for rendering by the iOS device. To keep integration simple, the binary runs single-threaded.
Registering your bundle ID
To communicate with Spotify you need to register your application’s bundle ID in the Dashboard. This value is used to authenticate your application against the Spotify client.
Checkout the SDK
The iOS SDK is available for checkout from its home on GitHub:
Tutorial and Examples
We provide a beginner’s tutorial to help you set up your Xcode environment and get started with the iOS SDK. It leads you through the creation of a simple iOS app that connects to the Spotify service and plays a track.
Within the download package you will also find several demonstration projects and project templates which provide example and starter code.
The API documentation is available online.
Please report problems with this SDK through the public issue tracker on GitHub.
Frequently Asked Questions about the iOS SDK
Using it in non-iOS platforms
Can the iOS SDK be used in an macOS App?
No, the iOS SDK is built against the iOS SDKs and won’t work in a macOS app.
Keeping the user authenticated
How can I maintain Spotify login session in my app for more than one hour?
When authenticating via the Web API you will receive a refresh token as well as an access token. For security, the access token will expire after 1 hour. The refresh token can be used to automatically retrieve a new access token without the user needing to re-authenticate.
For more information see the authorization guide.
Terms of Service
Note that by using Spotify developer tools, you accept our Developer Terms of Service.
Applications built with this SDK may be publicly distributed via app stores, however, if the application streams full-length tracks from Spotify you cannot charge users for it (for more about commercial restrictions, see the Developer Terms of Service).
Please also note that streaming of full-length tracks is only available to your users who have a Spotify Premium subscription.