web-dev-qa-db-ja.com

GIDSignInを使用してサインインすると、「URLスキームcom-google-gidconsentの登録済みハンドラーがありません」エラー

私は手動で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を使用しています

13
Adrian

実装に問題はありません。これらすべての警告は、各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
29
Cezar