DTSocialMediaLogin
轻松处理 iOS 应用登录,使用 Apple、Twitter、Facebook 和 Google 进行登录。这将为您节省许多时间。回调会为您提供以下变量:
- id (
String
) - name (
String
) - email (
String
) - profileImageURL (
String
) - origin (
Any
)
origin 是对结构体 DTAppleUser
、DTGoogleUser
、DTFacebookUser
和 DTTwitterUser
的引用。对于 Google,它有 user
属性,它引用 GIDGoogleUser
,您可以使用它进行其他 Google API 操作。而对于 Twitter,它有一个 OAuthToken
,可以用于其他 Twitter API。
要求
- 基本 SDK:iOS 12
- 部署目标:iOS 10.0 或更高版
使用 Cocoapods 安装
将 pod 添加到您的 Podfile。
pod 'DTSocialMediaLogin'
打开您的 AppDelegate.swift
文件,并添加以下代码:
// add import line
import DTSocialMediaLogin
...
...
...
// add openURL method
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
return DTSocialMediaLogin.openURL(app: app, url: url, options: options)
}
实现Google登录
从Google API控制台获取Google客户端ID
和方案路径URL
。您可以遵循Google登录指南来获取这些信息。将您的方案路径URL
放置在Xcode中的URL方案
配置中。
实现Facebook登录
在Facebook开发者门户上设置应用,并获取Facebook应用ID
。将您的应用ID
放入Info.plist
文件中。
<key>FacebookAppID</key>
<string>0123456789</string>
在URL Scheme
中将fb-your-fb-app-id-
。如果您应用ID是123,那么您的URL Scheme
上需要放置fb123
。同样,在您的URL Scheme
上也需要放置fbauth2
。
实现Twitter登录
前往Twitter开发者门户,获取Twitter应用密钥
和Twitter应用密钥秘密
。将dttwitter-your-appkey-
放置到URL Scheme中。如果您的应用密钥是1212
,则在您的URL Scheme上放置dttwitter-1212
。
实现使用Apple登录
在XCode中,转到签名 & 允可
标签页。在那里启用使用Apple登录
。
代码实现
在您的登录视图控制器中,或者您想要放置登录按钮的任何地方,在顶部添加导入,并声明一个属性
import DTSocialMediaLogin
class LoginViewController: UIViewController {
var socialLogin: DTSocialMediaLogin!
在您的viewDidLoad
方法中,添加初始化。如果您不需要,则用空字符串填充。
let settings = DTSocialMediaKeys(
googleClientID: "_google_client_id_",
facebookID: "_faceebook_id_",
twitterAppKey: "_twitter_api_key_",
twitterAppSecret: "_twitter_secret_key_")
socialLogin = DTSocialMediaLogin.setup(settings: settings)
然后在您的登录按钮动作中,用以下代码指定
@objc func didButtonClick(_ sender: UIButton) {
socialLogin.login(with: .Facebook, from: viewController) { error, user in
// you will get the user detail on variable user
// user.name, user.email, user.id, user.profileImageURL
}
}
这就完了!
作者
Didats Triadi
https://rimbunesia.com http://didats.net
如何说谢谢
你可能已经猜到了,这个库花费了我的大量业余时间。如果你觉得这个库很有用,请考虑购买我的调色板应用《Kelir Pro》,在Mac App Store上可以找到,或者我的《Quranesia》应用程序,适用于macOS。
许可证
版权所有 © 2020 Didats Triadi
任何获得此软件及其相关文档副本(“软件”)的人,被免费许可,可以自由地处理软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本,并允许向软件提供方提供软件的人这样做,但受以下条件的约束
在上面的版权声明和本许可声明应包含在软件的任何副本或主要部分中。
本软件按“原样”提供,不提供任何形式的保证,明示或暗示的,包括但不限于对适销性、特定目的适用性和非侵权的保证。在任何情况下,作者或版权所有者不对任何索赔、损害或其他责任负责,无论该索赔是由于合同、侵权或其他行为引起的,该索赔、损害或其他责任源于、产生于或与该软件或软件的使用或任何其他行为有关。