2015-09-07 8 views
13

Ich habe das Google-Zeichen in SDK manuell integriert (nicht mit Cocoapods) und es baut ok, aber wenn ich das Projekt I immer diese Fehler erhalten, nach der Unterzeichnung:"Es gibt keine registrierte Handler für URL-Schema com-google-gidconsent" Fehler beim Eingeben mit GIDSignIn

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 

Dies ist, wie ich das sdk verwenden.

Zuerst befolge ich alle Schritte von https://developers.google.com/identity/sign-in/ios/sign-in?ver=swift.

Code:
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() 
} 

Was kann das Problem sein? Ich verwende SDK Version 2.2.0

Antwort

29

Es gibt kein Problem mit Ihrer Implementierung. All diese Warnungen bedeuten, dass die Apps, auf die sich jedes URL-Schema bezieht, nicht auf dem Gerät installiert sind.

Wenn Sie auf dem Simulator testen, erhalten Sie diese Fehler die ganze Zeit. Wenn Sie jedoch auf einem Gerät testen, können Sie überprüfen, ob die Fehler verschwunden sind, wenn Sie die entsprechenden Apps installiert haben.

Zum Beispiel, wenn Sie den Youtube-App auf Ihrem Gerät haben, werden Sie die Zeile nicht sehen:

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
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); 
}) 
+2

Geist zu erklären? – CinCout

+0

Bitte erläutern Sie, wie dies die Frage beantwortet. – JAL

Verwandte Themen