Ios Libgdx-无法通过Google登录RoboPods使用Web视图登录

Ios Libgdx-无法通过Google登录RoboPods使用Web视图登录,ios,libgdx,robovm,Ios,Libgdx,Robovm,我正在使用LibGDX和Eclipse设置。我已经成功地使用robopods 1.14.0登录,但是这种方法是通过Safari Web浏览器实现的,而不是Web视图,这使得它毫无意义 我已经做了几次尝试来解决这个问题,并参考了其他各种帖子,到目前为止似乎没有任何效果 在我的IOS Launcher类中,我有: public class IOSLauncher extends IOSApplication.Delegate { private GADBannerView bannerVi

我正在使用LibGDX和Eclipse设置。我已经成功地使用robopods 1.14.0登录,但是这种方法是通过Safari Web浏览器实现的,而不是Web视图,这使得它毫无意义

我已经做了几次尝试来解决这个问题,并参考了其他各种帖子,到目前为止似乎没有任何效果

在我的IOS Launcher类中,我有:

public class IOSLauncher extends IOSApplication.Delegate {

    private GADBannerView bannerView;
    private ViewController viewController;

    @Override
    protected IOSApplication createApplication() {
        IOSApplicationConfiguration config = new IOSApplicationConfiguration();
        return new IOSApplication(new example(new ViewController()), config);
    }

    public static void main(String[] argv) {
        NSAutoreleasePool pool = new NSAutoreleasePool();
        UIApplication.main(argv, null, IOSLauncher.class);
        pool.close();
    }

    @Override
    public boolean didFinishLaunching(UIApplication application,
                                      UIApplicationLaunchOptions launchOptions) {
        // TODO Auto-generated method stub
        boolean b = super.didFinishLaunching(application, launchOptions);
        Foundation.log("IOSLauncher didFinishLaunching()");

        try {

        viewController = new ViewController();
        GIDSignIn.getSharedInstance().setAllowsSignInWithWebView(true);

        viewController.signIn();

        } catch (Exception e) {
            Foundation.log("Error configuring the Google context: " + e);
        }

        return b;
    }

    @Override
    public boolean openURL(UIApplication application, NSURL url, String sourceApplication, NSPropertyList annotation) {
        return GIDSignIn.getSharedInstance().handleURL(url, sourceApplication, annotation);
    }
}
public ViewController() {

        GPGManager.getSharedInstance().setStatusDelegate(new GPGStatusDelegateAdapter() {
            @Override
            public void didFinishGamesSignIn(NSError error) {
                Foundation.log("didFinishGamesSignIn(" + error + ")");
            }

            @Override
            public void didFinishGamesSignOut(NSError error) {
                Foundation.log("didFinishGamesSignOut(" + error + ")");
            }

            @Override
            public void didFinishGoogleAuth(NSError error) {
                Foundation.log("didFinishGoogleAuth(" + error + ")");
            }

            @Override
            public boolean shouldReauthenticate(NSError error) {
                Foundation.log("shouldReauthenticate(" + error + ")");
                return false;
            }

            @Override
            public void willReauthenticate(NSError error) {
                Foundation.log("willReauthenticate(" + error + ")");
            }

            @Override
            public void didDisconnect(NSError error) {
                Foundation.log("didDisconnect(" + error + ")");
            }
        });

        GIDSignIn.getSharedInstance().setAllowsSignInWithWebView(true);

        GIDSignIn.getSharedInstance().setUiDelegate(new GIDSignInUIDelegateAdapter() {

            @Override
            public void willDispatch(GIDSignIn signIn, NSError error) {
                Foundation.log("willDispatch()");
            }

            @Override
            public void presentViewController(GIDSignIn signIn, UIViewController viewController) {
                Foundation.log("presentViewController()");

                UIApplication.getSharedApplication().getKeyWindow().getRootViewController()
                        .presentViewController(viewController, true, null);

            }

            @Override
            public void dismissViewController(GIDSignIn signIn, UIViewController viewController) {
                Foundation.log("dismissViewController()");
                viewController.dismissViewController(true, null);
            }
        });

    }
在我的ViewController类中,我有:

public class IOSLauncher extends IOSApplication.Delegate {

    private GADBannerView bannerView;
    private ViewController viewController;

    @Override
    protected IOSApplication createApplication() {
        IOSApplicationConfiguration config = new IOSApplicationConfiguration();
        return new IOSApplication(new example(new ViewController()), config);
    }

    public static void main(String[] argv) {
        NSAutoreleasePool pool = new NSAutoreleasePool();
        UIApplication.main(argv, null, IOSLauncher.class);
        pool.close();
    }

    @Override
    public boolean didFinishLaunching(UIApplication application,
                                      UIApplicationLaunchOptions launchOptions) {
        // TODO Auto-generated method stub
        boolean b = super.didFinishLaunching(application, launchOptions);
        Foundation.log("IOSLauncher didFinishLaunching()");

        try {

        viewController = new ViewController();
        GIDSignIn.getSharedInstance().setAllowsSignInWithWebView(true);

        viewController.signIn();

        } catch (Exception e) {
            Foundation.log("Error configuring the Google context: " + e);
        }

        return b;
    }

    @Override
    public boolean openURL(UIApplication application, NSURL url, String sourceApplication, NSPropertyList annotation) {
        return GIDSignIn.getSharedInstance().handleURL(url, sourceApplication, annotation);
    }
}
public ViewController() {

        GPGManager.getSharedInstance().setStatusDelegate(new GPGStatusDelegateAdapter() {
            @Override
            public void didFinishGamesSignIn(NSError error) {
                Foundation.log("didFinishGamesSignIn(" + error + ")");
            }

            @Override
            public void didFinishGamesSignOut(NSError error) {
                Foundation.log("didFinishGamesSignOut(" + error + ")");
            }

            @Override
            public void didFinishGoogleAuth(NSError error) {
                Foundation.log("didFinishGoogleAuth(" + error + ")");
            }

            @Override
            public boolean shouldReauthenticate(NSError error) {
                Foundation.log("shouldReauthenticate(" + error + ")");
                return false;
            }

            @Override
            public void willReauthenticate(NSError error) {
                Foundation.log("willReauthenticate(" + error + ")");
            }

            @Override
            public void didDisconnect(NSError error) {
                Foundation.log("didDisconnect(" + error + ")");
            }
        });

        GIDSignIn.getSharedInstance().setAllowsSignInWithWebView(true);

        GIDSignIn.getSharedInstance().setUiDelegate(new GIDSignInUIDelegateAdapter() {

            @Override
            public void willDispatch(GIDSignIn signIn, NSError error) {
                Foundation.log("willDispatch()");
            }

            @Override
            public void presentViewController(GIDSignIn signIn, UIViewController viewController) {
                Foundation.log("presentViewController()");

                UIApplication.getSharedApplication().getKeyWindow().getRootViewController()
                        .presentViewController(viewController, true, null);

            }

            @Override
            public void dismissViewController(GIDSignIn signIn, UIViewController viewController) {
                Foundation.log("dismissViewController()");
                viewController.dismissViewController(true, null);
            }
        });

    }
我的信息文件有:

  <key>CFBundleURLTypes</key>
    <array>
        <dict>
            <key>CFBundleTypeRole</key>
            <string>Editor</string>
            <key>CFBundleURLName</key>
            <string>com.example.game</string>
            <key>CFBundleURLSchemes</key>
            <array>
                <string>com.example.game</string>
            </array>
        </dict>
        <dict>
            <key>CFBundleTypeRole</key>
            <string>Editor</string>
            <key>CFBundleURLName</key>
            <string>com.googleusercontent.apps.175333595465-123456789</string> 
            <key>CFBundleURLSchemes</key>
            <array>
                <string>com.example.game</string>
                <string>com.googleusercontent.apps.123456789</string>
            </array>
        </dict>
    </array>
我还在我的资源文件夹中设置了GoogleService-info.plist配置文件

我正在使用最新的Google登录SDK,即3_0_0,我正在使用Google plus iOS SDK 1.7.1

如前所述,一切正常,因为我可以登录,但通过Safari网络浏览器,而不是WebView,这使得它毫无用处,因为这样我的应用程序就不会得到苹果的批准。我遗漏了什么吗