SpotifyLogin
概述
SpotifyLogin
是一个轻量级框架,它使得您的应用可以从 Spotify 应用中获取认证代码。请注意,此框架目前处于开发中,且仅支持 ios-sdk 功能的子集。如果您想使用与认证相关的所有功能,请使用 ios-sdk。
最低要求
iOS 11
用法
准备您的环境
- 将最新版本的 Spotify 从 Apple Store 安装到您将用于开发的设备上。运行 Spotify 应用并登录或注册。
- 注册您的应用程序。您需要在我的应用程序中注册您的应用程序并获取客户端 ID。在注册应用程序时,您还必须允许列出 Spotify 应用在授权后回调到您的应用程序的重定向 URI。
安装
- 通过拖放到 框架、库和嵌入内容,将
SpotifyLogin.xcframework
添加到您的项目中。 - 在您的
info.plist
中添加以下改动- 在“我的应用程序”中添加您注册的重定向 URI。您需要将重定向 URI 添加到“URL 类型”和“URL 方案”下。请确保设置一个唯一的“URL 标识符”。关于 URL 方案的更多信息
- 通过添加
LSApplicationQueriesSchemes
清单键来声明 Spotify 的 URL 方案spotify
。
获取认证代码
- 使用客户端ID和重定向URI初始化
Configuration
。
import SpotifyLogin
let configuration = Configuration(clientID: "your_client_id", redirectURLString: "your_redirect_uri")
- 使用您的配置初始化
SessionManager
,并将符合SessionManagerDelegate
的对象设置到实例的delegate
上。
let sessionManager = SessionManager(configuration: configuration)
sessionManager.delegate = <#delegate object#>
- 在您的
UIApplicationDelegate
中实现application(_:open:options:)
方法,并在其中调用sessionManager的application(_:open:options:)
。
class AppDelegate: NSObject, UIApplicationDelegate {
func application(_ application: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
return sessionManager.application(application, open: url, options: options)
}
}
- 使用您需要的权限范围启动认证过程。
sessionManager.startAuthorizationCodeProcess(with: [.playlistModifyPublic, .playlistModifyPrivate])