2016-04-06 23 views
7

iOSアプリでGoogleログインを使用しています。私はユーザーがクリックしなければならないGIDSignInButtonを使用するGoogleチュートリアル(https://developers.google.com/identity/sign-in/ios/sign-in#add_the_sign-in_button)に従った。彼がそれをクリックすると、彼はこのようになります。これはサファリにリダイレクトされます。GoogleログインiOSアカウントのピッカー

enter image description here

これに伴う問題は、私は複数のGoogleアカウントを持っているし、私が使用したい1選択できるようにしたいということです。今は自動的にそのうちの1つだけを実行し、「拒否」または「許可」を押すだけです。また、アプリがChromeにリダイレクトされることは嫌いです。 Googleのハングアウトアプリのようなものは、iOSの上で行います理想的には、私が欲しいです:

enter image description here

それはあなたが以前にすべてのGoogleアプリにログインするために使用されているすべてのアカウントを表示し、あなたが決めることができますどれアプリを離れることなくアプリで使用します。

enter image description here

どのように私は行動のこの種のは、私のiOSアプリで(アプリ+アカウントチューを残していない)を達成することができますAndroid上で私は私のアプリのために働いて同様のものを得ましたか。

+0

は何か解決策を取得しましたか? – diordna

答えて

3

Googleハングアウトでこれを実行できる理由は、Googleが作ったものだからです。企業は、開発者があらゆる機能を利用できるとは必ずしも言えませんが、これはその代表的な例です。あなたがアンドロイドでこれを行う理由は、Googleが開発者がさまざまな機能にもっとアクセスできるようにしたからです。結局のところ、アンドロイドはGoogleによって開発されています。今、あなたはいつも埋め込まれたWebビューを使用することができるアプリを離れることはありません。これにより、ユーザーはアプリ内に保持され、代わりにモーダルにWebビューがポップアップ表示されます。これは世界で最高ではありませんが、ユーザーが別の場所に送信されるよりも優れています。このコードを試しましたか:

// Implement these methods only if the GIDSignInUIDelegate is not a subclass of 
// UIViewController. 

// Stop the UIActivityIndicatorView animation that was started when the user 
// pressed the Sign In button 
func signInWillDispatch(signIn: GIDSignIn!, error: NSError!) { 
    myActivityIndicator.stopAnimating() 
} 

// Present a view that prompts the user to sign in with Google 
func signIn(signIn: GIDSignIn!, 
    presentViewController viewController: UIViewController!) { 
    self.presentViewController(viewController, animated: true, completion: nil) 
} 

// Dismiss the "Sign in with Google" view 
func signIn(signIn: GIDSignIn!, 
    dismissViewController viewController: UIViewController!) { 
    self.dismissViewControllerAnimated(true, completion: nil) 
} 

投稿したリンクにこれが見つかりました。私はコードを実行したりテストしたりしていませんが、あなたをサファリに送るのではなく、View Controllerを表示しているようです。これは、あなたが望むもののラインに沿ってもっとあるかもしれません。サムの質問に答えるために、@

:「?インストールGoogleアプリを既存のではなく、SafariでURLを開いて、Googleにログインする方法」

あなたはおそらくアンドロイドでこれを達成できますが、iOSではできません。これは、プラットフォームが選択されているために制限されている別の例です。

あなたが選択するオプションは、OAuth 2.0に準拠する必要があることを覚えておいてください。 iOSデベロッパーが使用するためにGoogleが構築したものを使用すれば可能ですか?デフォルトのアカウントとは別のアカウントを選択する場合、ガイドに従ってGoogleがiOSデベロッパー向けに作成したものを選択した場合、プロフィール画像をタップしてアカウントを切り替えることができます。

TL; DR

https://www.youtube.com/watch?time_continue=227&v=-26DGO_E1ds

関連する問題