AppleSignIn 是实现 Apple WWDC 2019 上推出的 使用 Apple 登录 的快速简便方法。
特性
- 从代码中初始化
使用 Apple 登录
按钮。 - 从 storyboard 或 xib 中初始化
使用 Apple 登录
。 - 使用
default
按钮登录。 - 使用
custom
按钮登录。 - 添加
Cocoapods
支持。 - 添加
Cartage
支持。
需求
- iOS 13.0+
- Xcode 11.0+
- Swift 5+
安装
Cocoapods
和 Cartage
在当前阶段不支持 iOS 13
,所以只能进行手动安装。本节内容仅适用于未来可用的进一步安装。
CocoaPods
CocoaPods 是 Cocoa 项目的依赖管理器。有关使用和安装说明,请访问他们的网站。要使用 CocoaPods 将 AppleSignIn 集成到 Xcode 项目中,请在您的 Podfile
中指定它。
pod 'AppleSignIn'
Carthage
Carthage 是一个去中心化的依赖管理器,它会构建您的依赖并为您提供二进制框架。要使用 Carthage 将 AppleSignIn 集成到您的 Xcode 项目中,请在您的 Cartfile
中指定它。
github "AntonReality/AppleSignIn"
手动
如果您不想使用上面所述的任何依赖项,可以手动将 AppleSignIn 集成到您的项目中。只需将 Sources
文件夹拖放到您的项目即可。
用法
先决条件:
- 在 签名 & 能力 标签页中设置您的开发团队,以便 Xcode 可以创建使用 Apple Sign In 能力的配置文件。
- 添加 Sign In with Apple 能力。
- 选择一个已使用具有双因素认证的 Apple ID 登录的目标设备。
使用默认按钮添加 使用 Apple 登录。
import AppleSignIn
let button = AppleLoginButton()
button.delegate = self
view.addSubview(button)
实现代理方法以接收用户并处理错误。
func didCompleteAuthorizationWith(user: AppleUser) {
// Do any additional stuff with your backend.
}
func didCompleteAuthorizationWith(error: Error) {
// Handle error.
}
使用自定义动作/按钮添加 使用 Apple 登录。
import AppleSignIn
guard let window = view.window else { return }
let appleLoginManager = AppleLoginManager()
appleLoginManager.delegate = self
appleLoginManager.performAppleLoginRequest(in: window)
performAppleLoginRequest
需要指定 window
,在哪个 Apple Sign In 屏幕应该显示。
实现代理方法以接收用户并处理错误。
func didCompleteAuthorizationWith(user: AppleUser) {
// Do any additional stuff with your backend.
}
func didCompleteAuthorizationWith(error: Error) {
// Handle error.
}
就是这样!
很简单,想了解更多细节请查看 ExampleProject
。
贡献
请随时添加您的评论/提交/拉取请求。任何额外的帮助都受欢迎。
许可证
AppleSignIn 在 MIT 许可下发布。请参阅 LICENSE 获取详细信息。