2016-04-08 17 views
0

Xcode 7.2, iOS 9.2 üzerinde testini kullanarak ve pod 'Google/signin'i'tarihinde Girişi Sayı 9.2 Xcode 7.2

sonra giriş başarısını kullanarak ve izin google.co.in sayfasına kendi yönlendirme sağlayan am Ekranı kapatmak ve delgelerini çağırmak yerine. Aynı şey, OS 7.0 ve 8.0'da gayet iyi çalışıyor. Giriş için kullanılan kod aşağıdadır.

GIDSignIn*sigNIn=[GIDSignIn sharedInstance]; 
[sigNIn setDelegate:self]; 
[sigNIn setUiDelegate:self]; 
sigNIn.shouldFetchBasicProfile = YES; 
sigNIn.allowsSignInWithBrowser = NO; 
sigNIn.allowsSignInWithWebView = YES; 
sigNIn.scopes = @[@"https://www.googleapis.com/auth/plus.login",@"https://www.googleapis.com/auth/userinfo.email",@"https://www.googleapis.com/auth/userinfo.profile"]; 
sigNIn.clientID [email protected]"77904325793-iqdungs3ugddrf7h767pgagviokfi4cg.apps.googleusercontent.com"; 
[sigNIn signIn]; 



- (BOOL)application:(UIApplication *)app 
     openURL:(NSURL *)url 
     options:(NSDictionary *)options { 
return [[GIDSignIn sharedInstance] handleURL:url 
          sourceApplication:options[UIApplicationLaunchOptionsSourceApplicationKey] 
            annotation:options[UIApplicationLaunchOptionsAnnotationKey]]; 


} 

Giriş yaptıktan sonra yerine yakın ekranın Google.co.in yönlendirmektedir. OpenURL fonksiyonu mevcut iOS sürümüne göre açıklama işlevleri, böyle bir sorunu çözmek için iOS 9.

yılında değiştirilmiş olduğundan sanırım

enter image description here

+0

URL Düzenini projenizin Bilgi Türleri Bilgi dosyasına mı ayarladınız? –

+0

evet \t \t \t CFBundleURLSchemes \t \t \t \t \t \t \t com.googleusercontent.apps.7790433-iqdungs3ugddrf7h767pgagfi4cg \t \t \t

+0

[sorununuzu çözebilir bunu kontrol] (http: // stackoverflow .com/questions/31506865/google-sign-in-crashes-on-ios-9-girişimi-to-call-canopenurl) – Harshad

cevap

2

, öyle. İşte

Bunu çözmek için ne yaptığını geçerli:

@available(iOS 9.0, *) 
func application(app: UIApplication, openURL url: NSURL, options: [String : AnyObject]) -> Bool { 

    return GIDSignIn.sharedInstance().handleURL(url, sourceApplication: options[UIApplicationOpenURLOptionsSourceApplicationKey]! as! String, annotation: options[UIApplicationOpenURLOptionsAnnotationKey]) 
} 

@available(iOS 8.0, *) 
func application(application: UIApplication, 
    openURL url: NSURL, sourceApplication: String?, annotation: AnyObject) -> Bool { 

    return GIDSignIn.sharedInstance().handleURL(url, sourceApplication: sourceApplication!, annotation: annotation) 
} 

bu sorununuzu çözdü bana bildirin.

+0

sayesinde artık google com-google-gidconsent Bu OS 9.0 için çalışıyor. Pls, hem OS'yi hem de OS'yi desteklemek için delege kullanmak zorunda olduğumuzu söyleyin. –

+0

Evet, ikisini de kullanmanız gerekecek. Açıklama, iOS'a hangisinin kullanılacağını söyler. Bu iki işlevi yazmanız gerekecek. Yorumunuz için – kerry

+0

teşekkürler. Kerry –