我手动将google登录集成在sdk(不是与cocoapods)中,并且构建正常,但是当我运行项目时,我总是在登录后遇到此错误:
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版本
答案 0 :(得分:29)
您的实施没有问题。所有这些警告意味着每个URL方案引用的应用程序都没有安装在设备上。
如果您在模拟器上进行测试,您将始终获得这些错误。但是,如果您在设备上进行测试,则可以验证如果安装了相应的应用程序,错误将会消失。
例如,如果您的设备上有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
答案 1 :(得分:-1)
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);
})