尝试登录Google Plus时遇到问题,返回应用程序后向我发送用户名和密码后,我的应用程序崩溃。

该行中发生错误:

BOOL openURL(id self, SEL _cmd, UIApplication* application, NSURL* url, NSString* sourceApplication, id annotation){
     [GPPURLHandler handleURL:url sourceApplication:@"com.google.chrome.ios" annotation:nil];
}
//...

我进入设备控制台:

:***由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'无法使用nil模型创建NSPersistentStoreCoordinator'

然后使用控制台中打印的网址尝试:

NSURL *fixedURL = [NSURL URLWithString:@"com.domain.xxxxxx:/oauth2callback?state=75029341&code=4/hy789ysdfhfRA8cuIeHbO0fP3p1oXcFeCnYJe--vZgc.klaHKD1A8zws76f7678df6782M1BcwvNlQI&authuser=0&num_sessions=1&prompt=consent&session_state=dca3e8a678sdf678a6f7d880e02bcf5155e5822c038..5f88"];

[GPPURLHandler handleURL:fixedURL sourceApplication:@"com.google.chrome.ios" annotation:nil];
//...

这些代码什么都没有发生

然后我尝试:

 NSString *urlString =[NSMutableString stringWithFormat:@"%@:/oauth2callback?%@", [url scheme],[url query]];
 NSURL *fixedURL = [NSURL URLWithString:urlString];
//...

并得到第一个错误。

在属性列表键中

<key>CFBundleURLTypes</key>
   <array>
      <dict>
         <key>CFBundleURLName</key>
         <string>com.domain.xxxxxx</string>
         <key>CFBundleURLSchemes</key>
         <array>
            <string>com.domain.xxxxxx</string>
         </array>
         <key>CFBundleURLTypes</key>
         <string>Editor</string>
      </dict>
   </array>
   <key>GPGApplicationID</key>
   <string>123123123-0fnaerghgic4er3g9cmn045daasl0u1u.apps.googleusercontent.com</string>

我做错了什么?

#1楼 票数:0

我不确定为什么要为该方法构造参数,或者在哪里调用它。 您的UIApplicationDelegate附加了@optional响应器:

- (BOOL)application:(UIApplication *)application openURL:(NSURL*)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation

此处将调用GPPURLHandler的用例(当激活注册的URL方案时,操作系统会向您的应用程序调用该用例)。 这进入您的UIApplicationDelegate实现:

- (BOOL)application:(UIApplication *)application openURL:(NSURL*)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
  return [GPPURLHandler handleURL:url sourceApplication:sourceApplication annotation:annotation];
}

  ask by esdebon translate from so

未解决问题?本站智能推荐:

1回复

添加GooglePlay服务时出现意外的最高水平例外

我正在开发一个集成了Google Plus登录的android应用。 为此,我已将Google Play服务库添加到我的项目中。 当我运行我的应用程序时,它给了我以下错误: 这是我的build.gradle文件: 我已经经历了很多关于stackoverflow的问题,但没有得到解决方
1回复

GooglePlay游戏-活动自动调用beginUserInitiatedSignIn()

我最近在我的应用程序中更新了Google Play服务库,以使用新的Google API。 这样做时,每当我未登录而第一次启动Activity(扩展了BaseGameActivity)时,Activity都会自动出现登录对话框。 我没有在任何地方进行任何beginUserInitiated
2回复

上传到GooglePlay时,GooglePlus登录失败

我最近尝试在Google Play上上传Ionic版本的APK。 该应用程序已打开,但google plus登录名无效。 我在各种博客上搜索并发表文章,但找不到理想的博客。 主要有针对火力的答案之一。 但是,这里我使用的是非Firebase项目,可以在Google控制台中创建。 因
2回复

访问GooglePlay服务时,应用有时会崩溃

在我的应用程序中,我使用的是PlusOneButton,并且模拟了对实际按钮的自动点击-为用户节省了另一次点击。 对于未使用其Google帐户登录的用户,将显示的下一个屏幕是内置的Google对话框,用于选择一个帐户。 有时,应用程序在达到此阶段时会崩溃-我在日志中看到以下几行 似乎在
2回复

GooglePlusAndroidSDK:膨胀类com.google.android.gms.plus.PlusOneButton时出错

我在Android应用中使用Google Plus SDK。 在某些罕见的设备上,当我的包含Google Plus按钮的视图膨胀时,发生以下崩溃: 我的GooglePlus按钮位于xml中,如下所示: 在日志下方。 有什么办法解决这个问题吗? 谢谢 !! 我遇到问题的设备示例
2回复

Android:Google+整合。仍保持连接状态时调用connect(),缺少断开连接()

我正在开发在Android应用程序中集成了Google+的应用程序,我尝试使用Google+帐户登录 ,现在PlusClient无法连接到帐户 ,到目前为止我所做的。 当我检查mPlusClient是否已连接时,我无法进行重新调整。 任何帮助,将不胜感激。
3回复

GooglePlus跨平台单点登录:onConnected从未在全新安装中调用过

我正在尝试在我的Android应用中使用Google Plus实现“跨设备登录”。 如何实现这一点并没有很好地记录,我发现的最好的文档是这个视频 , 以及 github中的这些示例应用程序 。 鉴于示例Android应用程序的代码以及Google开发人员在视频中所说的内容 ,我了解到以下
1回复

发布到G+用户流时的回调

当用户通过我的Android应用在其G +流上共享链接时,如何检测发布是否成功? 这就是我发布链接的方式。 我重写onActivityResult来检查resultCode 。 如果成功,它确实会返回RESULT_OK ,但是是否有可能获得更多详尽的信息,例如由于网络错误等原因导致投递