BGSocialLogin
示例
要运行示例项目,请克隆仓库,然后首先从 Example 目录中运行 pod install
。
要求
- Xcode 10.2.1
- iOS 10
依赖
- 'SnapKit', '5.0.0'
- 'naveridlogin-sdk-ios', '4.0.12'
- 'FBSDKLoginKit', '5.1.1'
- 'Alamofire', '4.8.2'
- 'Firebase/Auth', '6.3.0'
- 'GoogleSignIn', '4.4.0'
- 'KakaoOpenSDK', '1.12.1'
- 非官方发布的 Cocoapod SDK。pod 'KakaoOpenSDK'
安装
BGSocialLogin 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中:
pod 'BGSocialLogin'
如何使用
所使用的所有社交平台在提前定义的视图中指定视图后,将添加用于社交登录的按钮到相应视图内。登录事件发生后,最初模块将处理并返回形式为 BGSocialLoginUser 的结果。
每个登录所需的基本项目设置如下,需手动配置;具体内容请参考各平台的开发人员指南。
基本响应
在使用视图控制器中导入 BGSocialLogin。创建一个 presenter,并在 viewdidload 中编写 attachview。完成之后,当 SocialLogin 发生事件时,将按照 BGLoginContract_View 的约定以统一的 BGSocialLoginUser 形式返回结果。
import BGSocialLogin
class ViewController: UIViewController {
var presenter = BGLoginPresenter.init(model: BGLoginModel())
override func viewDidLoad() {
super.viewDidLoad()
presenter.attachView(view: self)
}
}
extension ViewController: BGLoginContract_View {
func responseSosialLogin(_ loginUser: BGSocialLoginUser) {
let message = "loginUser : \(loginUser)"
Toast.init(text: message).show()
}
}
响应结果
public struct BGSocialLoginUser {
public var sosial:BGSocial? = .none
public var name:String?
public var email:String?
public var phone:String?
public var imageUrlStr:String?
public var token:String?
public var error:Error?
}
public enum BGSocial: String {
case kakao = "Kakao"
case naver = "Naver"
case facebook = "Facebook"
case google = "Google"
}
使用 Kakao 社交登录
-
在项目 Info.plist 中设置 KAKAO_APP_KEY = 接收到的 api_key。
-
在项目 Info.plist 中添加以下 LSApplicationQueriesSchemes。
<key>LSApplicationQueriesSchemes</key> <array> <string>kakao0123456789abcdefghijklmn</string> <string>kakaokompassauth</string> <string>storykompassauth</string> <string>kakaolink</string> <string>kakaotalk-5.9.7</string> <string>storylink</string> </array>
-
在项目 Target -> Info -> UrlTypes 中添加 URL Schemes。
- 例如 > kakaoXXXXXX000000XXXXXX000000XXXXXX77
-
编写 AppDelegate 代码
import BGSocialLogin @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { func applicationDidBecomeActive(_ application: UIApplication) { BGLoginModel.setAppDelegateKakaoHandleDidBecomeActive() } func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool { if BGLoginModel.setAppDelegateKakaoCallback(openURL: url) { return true } return false } }
-
编写视图控制器代码
import BGSocialLogin class ViewController: UIViewController { var presenter = BGLoginPresenter.init(model: BGLoginModel()) @IBOutlet weak var vWrapper: UIView! override func viewDidLoad() { super.viewDidLoad() presenter.attachView(view: self) presenter.addKakaoLoginButton(wrapperView: vWrapper) } } extension ViewController: BGLoginContract_View { func responseSosialLogin(_ loginUser: BGSocialLoginUser) { let message = "loginUser : \(loginUser)" } }
使用 Google 社交登录
- FireBase.com -> 项目 -> 设置 -> 我的应用
作者
[email protected],[email protected]
授权
BGSocialLogin 遵循 MIT 许可证。更多信息请参阅 LICENSE 文件。