BGSocialLogin 0.1.3

BGSocialLogin 0.1.3

‘bugguide’维护。



 
依赖
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
 

BGSocialLogin

CI Status Version License Platform

示例

要运行示例项目,请克隆仓库,然后首先从 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 文件。