使用GIDSignIn单击时,“URL scheme com-google-gidconsent”没有注册的处理程序错误
我已经手动集成了谷歌loginsdk(不与cocoapods),它build立好,但是当我运行该项目时,我总是得到这个错误,login后:
2015-09-07 15:44:14.071 Contacts++[82438:4826277] LaunchServices: ERROR: There is no registered handler for URL scheme com-google-gidconsent-google 2015-09-07 15:44:14.071 Contacts++[82438:4826277] LaunchServices: ERROR: There is no registered handler for URL scheme com-google-gidconsent-youtube 2015-09-07 15:44:14.072 Contacts++[82438:4826277] LaunchServices: ERROR: There is no registered handler for URL scheme com-google-gidconsent 2015-09-07 15:44:14.072 Contacts++[82438:4826277] LaunchServices: ERROR: There is no registered handler for URL scheme com.google.gppconsent.2.4.1 2015-09-07 15:44:14.072 Contacts++[82438:4826277] LaunchServices: ERROR: There is no registered handler for URL scheme com.google.gppconsent.2.4.0
这是我如何使用sdk。
首先,我遵循https://developers.google.com/identity/sign-in/ios/sign-in?ver=swift中的所有步骤。
码:
AppDelegate.swift
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { // google // Initialize sign in GIDSignIn.sharedInstance().clientID = "<client id>" GIDSignIn.sharedInstance().delegate = self return true } func signIn(signIn: GIDSignIn!, didSignInForUser user: GIDGoogleUser!, withError error: NSError!) { if error == nil { let userID = user.userID let idToken = user.authentication.idToken let name = user.profile.name let email = user.profile.email print(userID, idToken, name, email) } else { print(error.localizedDescription) } } func signIn(signIn: GIDSignIn!, didDisconnectWithUser user: GIDGoogleUser!, withError error: NSError!) { }
ViewController.swift
override func viewDidLoad() { super.viewDidLoad() // google plus //GIDSignIn.sharedInstance().clientID = clientID GIDSignIn.sharedInstance().uiDelegate = self GIDSignIn.sharedInstance().signIn() }
可能是什么问题? 我正在使用SDK版本2.2.0
你的实现没有问题。 所有这些警告的意思是每个URLscheme引用的应用程序没有安装在设备上。
如果你在模拟器上testing,你会一直得到这些错误。 但是,如果您在设备上进行testing,则可以validation如果安装了相应的应用程序,错误将会消失。
例如,如果您的设备上有Youtube应用,则不会看到该行:
2015-09-07 15:44:14.071 Contacts++[82438:4826277] LaunchServices: ERROR: There is no registered handler for URL scheme com-google-gidconsent-youtube
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.facebook.com"]]; exit(0); })