WWSignInWith3rd+Weibo

Swift-5.6 iOS-14.0 Swift Package Manager-SUCCESS LICENSE

Introduction - 简介

Installation with Swift Package Manager

dependencies: [
    .package(url: "https://github.com/William-Weng/WWSignInWith3rd_Weibo.git", .upToNextMajor(from: "1.1.1"))
]

Function - 可用函数

函式 功能
configure(appKey:secret:universalLink:redirectURI:isEnableDebugMode:) 参数设定
login(request:completion:) 登录
logout(with:) 登出
canOpenURL(_:open:options:) 在外部由URL Scheme开启 -> application(_:open:options:)
canOpenUniversalLink(_:continue:restorationHandler:) 在外部由UniversalLink开启 -> application(_:continue:restorationHandler:)

Example

import UIKit
import WWSignInWith3rd_Apple
import WWSignInWith3rd_Weibo

@main
final class AppDelegate: UIResponder, UIApplicationDelegate {
    
    var window: UIWindow?
    
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        _ = WWSignInWith3rd.Weibo.shared.configure(appKey: "<WeiboAppKey>", secret: "<WeiboSecret>", universalLink: "https://api.weibo.com/oauth2", redirectURI: "https://api.weibo.com/oauth2")
        return true
    }
    
    func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
        return WWSignInWith3rd.Weibo.shared.canOpenURL(app, open: url)
    }

    func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
        return WWSignInWith3rd.Weibo.shared.canOpenUniversalLink(application, continue: userActivity, restorationHandler: restorationHandler)
    }
}
import UIKit
import WWPrint
import WWSignInWith3rd_Apple
import WWSignInWith3rd_Weibo

final class ViewController: UIViewController {
        
    @IBAction func signInWithWeibo(_ sender: UIButton) {
        
        WWSignInWith3rd.Weibo.shared.login { request in
            wwPrint(request)
        } completion: { result in
            switch result {
            case .failure(let error): wwPrint(error)
            case .success(let info): wwPrint(info)
            }
        }
    }
}