DAM*_*ENT 5 ios swift google-signin
我似乎可以理解问题,并且也收到错误“使用未声明的类型“ GIDSignInUIDelegate”
我尝试重新安装Pod,在Pod文件中包含了所有需要的Pod,包括“ GoogleSignIn”
我似乎也找不到关于Extra参数的任何在线信息。
import UIKit
import Firebase
import GoogleSignIn
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
FirebaseApp.configure()
GIDSignIn.sharedInstance().clientID = FirebaseApp.app()?.options.clientID
window = UIWindow()
window?.makeKeyAndVisible()
let navController = UINavigationController(rootViewController: HomeController())
navController.navigationBar.barStyle = .black
window?.rootViewController = navController
return true
}
func application(_ application: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any])
-> Bool {
return GIDSignIn.sharedInstance().handle(url,
sourceApplication:options[UIApplication.OpenURLOptionsKey.sourceApplication] as? String,
annotation: [:])
}
Run Code Online (Sandbox Code Playgroud)
我收到错误消息:
额外参数'sourceApplication'
在通话中:
func application(_ application: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any])
-> Bool {
return GIDSignIn.sharedInstance().handle(url,
sourceApplication:options[UIApplication.OpenURLOptionsKey.sourceApplication] as? String,
annotation: [:])
}
Run Code Online (Sandbox Code Playgroud)
您可能正在使用GIDSignIn v5.0.0。他们对handle()参数进行了一些更改。
@available(iOS 9.0, *)
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any]) -> Bool {
return GIDSignIn.sharedInstance().handle(url)
}
Run Code Online (Sandbox Code Playgroud)
https://developers.google.com/identity/sign-in/ios/sign-in?ver=swift https://developers.google.com/identity/sign-in/ios/release
我似乎可以理解问题,并且也收到错误“使用未声明的类型“ GIDSignInUIDelegate”
2019-08-14-v5.0.0
对GIDSignIn的更改:uiDelegate已替换为presentingViewController。
需要GIDSignInUIDelegate才能将自己分配给uiDelegate。
由于对presentingViewController进行了更改,因此您可以直接分配self,不再需要委托,因此他们将其删除。
GIDSignIn.sharedInstance()?.uiDelegate = self
Run Code Online (Sandbox Code Playgroud)
就是现在
GIDSignIn.sharedInstance()?.presentingViewController = self
Run Code Online (Sandbox Code Playgroud)
正如@efremidze在他的回复中指出的那样,
GIDSignIn.sharedInstance().handle(url, sourceApplication:options[UIApplication.OpenURLOptionsKey.sourceApplication] as? String, annotation: [:])
Run Code Online (Sandbox Code Playgroud)
现在只是
GIDSignIn.sharedInstance().handle(url)
Run Code Online (Sandbox Code Playgroud)
2019-08-14-v5.0.0
Run Code Online (Sandbox Code Playgroud)Changes to GIDSignIn: uiDelegate has been replaced with presentingViewController.
要纠正错误:
1.全部替换
GIDSignIn.sharedInstance().uiDelegate = yourDelegate
Run Code Online (Sandbox Code Playgroud)
与
GIDSignIn.sharedInstance().presentingViewController = yourDelegate
Run Code Online (Sandbox Code Playgroud)
2.删除所有与GIDSignInUIDelegate的一致性。
| 归档时间: |
|
| 查看次数: |
1203 次 |
| 最近记录: |