WWSignInWith3rd_Wechat

main

Use Wechat third-party login.
William-Weng/WWSignInWith3rd_Wechat

WWSignInWith3rd+Wechat

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

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

Function - 可用函式

函式 功能
configure(appId:secret:universalLink:) 參數設定
login(presenting:requestAction:completionAction:) 登入 - 網頁 / APP
logout() 沒有登出功能
openMiniProgram(with:path:type:completion:) 開啟微信小程序
canOpenURL(_:open:options:) 在外部由URL Scheme開啟 -> application(_:open:options:)
canOpenUniversalLink(_:continue:restorationHandler:) 在外部由UniversalLink開啟 -> application(_:continue:restorationHandler:)
log(level:result:) 印出Log訊息

Example

import UIKit
import WWSignInWith3rd_Apple
import WWSignInWith3rd_Wechat

@main
final class AppDelegate: UIResponder, UIApplicationDelegate {
    
    var window: UIWindow?
    
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        return WWSignInWith3rd.Wechat.shared.configure(appId: "<WechatAppId>", secret: "<WechatSecret>", universalLink: "<UniversalLink>")
    }
    
    func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
        return WWSignInWith3rd.Wechat.shared.canOpenURL(app, open: url)
    }
    
    func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
        return WWSignInWith3rd.Wechat.shared.canOpenUniversalLink(application, continue: userActivity, restorationHandler: restorationHandler)
    }
}
import UIKit
import WWPrint
import WWSignInWith3rd_Apple
import WWSignInWith3rd_Wechat

final class ViewController: UIViewController {
    
    override func viewDidLoad() {
        super.viewDidLoad()
        WWSignInWith3rd.Wechat.shared.log { wwPrint($0) }
    }
    
    /// [設定Build Settings -> Other Linker Flags => -ObjC -all_load](https://developers.weixin.qq.com/doc/oplatform/Mobile_App/WeChat_Login/Development_Guide.html)
    /// - Parameter sender: UIButton
    @IBAction func signInWithWechat(_ sender: UIButton) {
        
        WWSignInWith3rd.Wechat.shared.login(presenting: self) { result in
            
            switch result {
            case .failure(let error): wwPrint(error)
            case .success(let info): wwPrint(info)
            }
        }
    }
}

Description

  • Swift Tools 5.7.0
View More Packages from this Author

Dependencies

Last updated: Mon Apr 15 2024 04:43:19 GMT-0900 (Hawaii-Aleutian Daylight Time)