iOS/Swift:PFFacebookUtils.logInWithPermissions 返回 nil 用户和错误

2023-12-04

在我的应用程序中,我通过 Parse 的 PFFacebookUtil 类登录用户。如果用户存在于手机上(即在“设置”>Facebook 中登录 FB),则一切都会按预期进行。

但如果他们是未通过设置登录,然后用户被带到 Web 视图进行登录。用户输入凭据后,返回块应该收到用户或错误,但在本例中用户和错误为零。

    let permissionsArray = ["user_about_me", "email"];
    PFFacebookUtils.logInWithPermissions(permissionsArray, block: {
        (user: PFUser!, error: NSError!) -> Void in
        if user != nil {
              //successful login
        } else if error != nil{
              //unsuccessful login 
        } else {
              //this is what I get
        }
    }

我们目前正在运行 Parse 1.4.2


问题是我没有在 AppDelegate 调用中调用 FBAppCall.handleOpenURL() :

application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject?) 

当我从网络身份验证回来时。通过不调用 FBAppCall.handleOpenURL(),Parse 认为我们取消了身份验证。 Parse 文档指出“如果用户通过切换回应用程序取消了身份验证,则用户和错误均为零”。

此方法应该调用 FBAppCall.handleOpenURL 将身份验证传递回应用程序。就我而言,我也使用此调用进行深层链接,但我没有正确处理逻辑。我最初是在检查 sourceApplication 对象以查看它是否是“com.facebook.Facebook”。如果它返回 true,那么我调用 FBAppCall.handleOpenURL()。今天调试时,我注意到源应用程序实际上是“com.apple.mobilesafari”。无论如何,检查 sourceApplication 并不是最好的检查方式(尝试类似 url.host 的内容),但在本例中,这就是问题所在。

这是固定的代码片段:

func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject?) {
    if (url.host == DEEP_LINKING_HOST) {
       //Deep linking code here...
    } else if sourceApplication == "com.apple.mobilesafari" {
       return FBAppCall.handleOpenURL(url, sourceApplication: sourceApplication, withSession: PFFacebookUtils.session())
   }
}

这里的重点是我没有调用 FBAppCall.handleOpenURL()。结果,应用程序认为我取消了登录,并给了我一个零用户和错误。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iOS/Swift:PFFacebookUtils.logInWithPermissions 返回 nil 用户和错误 的相关文章

  • 在 iOS safari 中禁用选择上下文菜单

    我想禁用在 iOS Safari 网络浏览器 中选择特定文本后出现的默认上下文菜单 那可能吗 这是可能的 请参阅这个例子 http jsfiddle net z9ZNU 基本上 重要的部分是设置正确的 css 属性 body webkit
  • 无法将类型“(User?, Error?) -> ()”的值转换为预期参数类型“AuthDataResultCallback?”

    当我更新 firebase pod 时出现此错误 无法将类型 User Error gt 的值转换为预期参数类型 AuthDataResultCallback 又名 可选 gt static func signUp username Str
  • 平板电脑在第一次单击时悬停,在第二次单击时单击

    发布这个问题主要是希望证实我对该行为的怀疑 从而为其他程序员记录下来 因为我在网上没有找到任何记录 我正在构建一个网站 其导航栏具有以下属性 水平截面是 ul of li 和一些 li li s 两者都有 A n a 元素带您进入该主题 触
  • 使 Swift 类符合需要 init 的协议

    我有以下内容protocol in Swift protocol FooConvertible typealias FooType init foo FooType 我会做Swift类在类定义中符合它 class Bar FooConver
  • 将用户重定向到 iTunes 应用商店或 Google Play 商店?

    我正在寻找一种简单的解决方案来发布我的应用程序的一个链接 例如在 Facebook 上 如果用户使用移动设备访问它 它应该自动重定向到正确的应用程序商店 否则 用户应该被重定向到我的网站 iOS应用程序 http itunes apple
  • 如何在 SKAction 中途反转精灵所遵循的路径方向?

    我有一个 SKSpriteNode 它使用 SKAction 沿着圆形路径移动 create the path our sprite will travel along let circlePath CGPathCreateWithElli
  • 当用户信息属于公司设备时Rails设备

    我为公司创建了一个设计 我创建了一个用户表 希望我想要存储用户信息密码等 当用户注册时 我希望它创建一个新用户并与公司关联 我公司型号 has one 用户 我的用户模型 所属 公司 我应该如何覆盖注册控制器 此致 Rails 初学者 如果
  • 我可以使用 NSDateFormatter 将此日期字符串转换为 NSDate 吗?

    我有这个字符串 2010 08 24T16 00 00 05 00 我想从中提取时间部分 即 16 00 并将其转换为 12 小时等效值 即下午 04 00 我正在尝试使用 NSDateFormatter 来完成此任务 但它不起作用 NSD
  • Swift NotificationCenter 删除观察者最快的方法

    我正在添加一些观察员viewController applicationWillResignActive applicationDidEnterBackground 以及许多其他人 我想删除self作为一行中所有已注册通知的观察者 我的问题
  • 相机叠加图片

    edit 3 好消息和坏消息 好消息是 在连接检查器中 通过断开覆盖 UIToolbar 并连接 UIImageview 我看到theKing 但是 坏消息 我没有看到我也需要的 UIToolbar 所以现在的问题是 当用户完成这里操作后
  • 将多个数组合并为一个数组

    如何将多个数组合并为一个二维数组 鉴于我有以下输入 var arr1 1 2 3 var arr2 a b c var arr3 aa bb cc 我需要这样的输出 1 a aa 2 b bb 1 c cc 我认为你想要的是将三个数组组合成
  • 处理核心数据中的重复条目

    我有一个允许用户保存收藏夹的应用程序 我正在使用 Core Data 将收藏夹存储为托管对象 我已经编写了一些代码来防止存储重复项的可能性 但我想知道是否有更好的方法来做到这一点 每个收藏夹对象都有一个唯一的 ID 字段 在下面的代码中 我
  • 连接到 Apple Music

    所以我尝试使用 React Native 应用程序从 iOS 设备连接到 Apple Music 有一个 API 可以执行相同的操作 但我需要从 storekit 框架调用一个函数 提出个性化请求 苹果音乐API https develop
  • Xcode 本地化设置中没有加号或减号按钮

    我需要在两天内翻译 iOS 应用程序 但我的 XCode 版本 4 4 和 4 5 Developer Preview 都没有给我添加其他语言的选项 我只能选择单击 Make localized 但我只能选择英语 选择它后 Xcode 中的
  • 子视图控制器旋转方法未被调用

    Summary 我试图将子视图控制器添加到父视图控制器 并让父视图控制器通知子视图控制器旋转事件 但是 旋转消息不会转发到子视图控制器 这是默认行为 为什么这种默认行为没有发生 环境 iOS 7 XCode 5 OSX 10 9 Detai
  • SDWebImage 显示缓存中图像的占位符

    在 iOS 5 1 项目 iPad 中使用 SDWebImage 3 我们展示相当大的图像 700x500 并且我们有很多图像 1000 我们预取图像并缓存到磁盘 然后允许用户浏览它们 效果很好 除了当您浏览图像时 您总是会看到占位符显示一
  • 配置 2 在按钮 swiftUI 中发出警报消息

    我要学习 swift 和 swiftUI 我申请按类别整理笔记 如果需要的话 你可以在我的 GitHub 中找到我的项目 https github com yoan8306 List Notes https github com yoan8
  • 将 Facebook 图片 URL 上传到 Firebase 存储

    我正在尝试将用户的 Facebook 个人资料图片上传到 Firebase 存储 let dictionary result as NSDictionary let data dictionary objectForKey data let
  • 取消 Facebook 直播视频静音

    我目前正在尝试嵌入一个 Facebook 实时视频 该视频将自动播放且音频未静音 我尝试过使用该解决方案在这篇文章中 https stackoverflow com questions 32584472 how to enable soun
  • extern NSString *const 在类中。

    你好 我有这个头文件 import

随机推荐

  • d3.js:从文件中绘制地图上两点之间的弧

    我是 d3 js 的新手 正在尝试一些简单的事情 我绘制了一张读取 file1 和 file2 的世界地图 file2 按索引 ID 纬度和经度列出机场 file1 通过机场的索引 ID 来对机场进行配对 我想画一条弧线 一条线或任何东西来
  • 依赖性跟踪功能

    我只是想知道是否有人知道如何在运行后自动创建视图DROP CASCADE 现在我试图首先放弃经典的视图DROP VIEW myview语句 如果我无法删除视图 因为其他对象仍然依赖于它 那么检查 postgres 列出的所有对象名称并保存它
  • Reactjs读取属性文件?

    我在寻找解决方案时遇到困难如何在reactJS中读取属性文件 我读过您可以使用模块 properties reader 但我似乎无法使要求工作 有简单的方法吗 例如 import React Component from react imp
  • Github - 需要有关发出拉取请求的帮助

    我分叉了一个项目 进行了更改 C1 并提出了仍待处理的拉取请求 一周后 我想提出另一个带有更改的拉取请求 C2 与此同时 上游 我分叉的地方 发生了很多变化 所以我想将我的 master 与上游同步 并且需要单独提供带有更改 C2 的拉取请
  • 类型或命名空间“Mvc”名称在命名空间“System.Web”中不存在

    我有一个使用 RazorEngine 生成电子邮件的类库 RazorEngine 使用 Mvc 我在我的库类中引用了 System Web Mvc 将其设置为复制本地 并且它存在于 Bin 文件夹中 但是我仍然得到这个例外 我让它工作的唯一
  • 这是在我的程序中嵌入调试消息的好方法吗? (宏)

    在 Debug h 文件中 我有以下内容 ifdef DEBUG FLAG define DEBUG msg std cerr lt lt msg lt lt std endl else define DEBUG msg for true
  • 托管 C# dll 上的 GetProcAddress

    我正在尝试通过 LoadLibrary 加载 C dll 我能够成功加载它 您能告诉我如何使用此 dll 的 GetProcAddress 以便我可以使用此 dll 中定义的方法和类型吗 提前致谢 EDIT 1 解决此问题的最佳方法是 CO
  • Web USB 从设备到浏览器传输数据无法正常工作

    上面是我的设备配置 我正在尝试从中获取数据 我正在使用下面的代码来获取数据 document getElementById request onclick function navigator usb requestDevice filte
  • java httpssession有效吗?

    我在 tomcat 中使用 java servlet API 我将用户名和带有属性用户名的 httpsession 保存在哈希表中 我想知道是否有办法检查 httpsession 是否有效 我试过了 try String user http
  • Google Chrome 错误 - 溢出:自动 |滚动不起作用

    这是我在 Chrome 中的网站 文本在框外运行 这是在 IE 中没有问题 这是相关的CSS section height 1000px width 670px border thick solid rgb 51 97 120 border
  • windows和spyder中的python多处理问题

    我的大学有一个关于 python 多重处理的项目 对于我的 python 项目 我在 Windows 中使用spyder 因此 我尝试在spyder中运行一个非常简单的多处理代码 但每次我运行它时 spyder控制台都会冻结并且永远不会完成
  • 手动为 boost 的图表着色

    我正在努力尝试使用 boost 手动为图的顶点着色 我写了下面的代码 但我不明白为什么生成的文件没有任何颜色 int main int char typedef property
  • 为什么不能在循环中隐藏局部变量?

    我遇到了这种情况 我无法理解阴影 例如下面的代码 class Foo int a 5 void goFoo int a No problem naming parameter as same as instance variable for
  • 构建管道的保存被禁用

    我已经填写了构建管道的所有选项 并且没有错误消息 如何找出 保存 按钮被禁用的原因 如果我转到顶部菜单上的 触发器 那么我可以在 持续集成 下看到一些需要注意的设置 在我的屏幕截图中 红色的小错误图标实际上在 触发器 一词的映衬下可见 您必
  • 在 Razor 邮件模板中使用 @Html.Raw 渲染 HTML 内容

    使用 Razor 页面作为邮件模板我尝试使用显示邮件内容 Html 内容 Html Raw Model Content 每当我运行代码时 我都会收到此错误 html does not exist in current context 我试过
  • 如何获取 CheckboxColumn Gridview 中选定的数据/项目行 - Yii2

    我在使用 checkboxColumn 获取所有选定值 数据 Yii2 Gridview 时遇到问题 我只能得到one of the value in the grid使用此代码 class gt yii grid CheckboxColu
  • 转换器类抛出异常 java.lang.IllegalArgumentException

    我的 JSF 页面中有 p selectOneMenu 当我运行 JSF 页面时 我从 Converter 类中收到以下异常 java lang IllegalArgumentException object 5634 is of type
  • QWidget::find 可以从不同的进程中查找小部件吗?

    的文档QWidget winId状态 除其他外 如果一个小部件是非本机 外星人 并且在其上调用 winId 则将为该小部件提供本机句柄 我不确定 外星人 在这种情况下意味着什么 但我现在选择忽略它 因此 假设我的小部件现在有一个与之关联的有
  • 用于选择发件人和签名的 VBA 代码

    在 Excel 中 我使用如下代码通过 Outlook 开始发送电子邮件 Set mOutlookApp GetObject Outlook application Set OutMail mOutlookApp CreateItem 0
  • iOS/Swift:PFFacebookUtils.logInWithPermissions 返回 nil 用户和错误

    在我的应用程序中 我通过 Parse 的 PFFacebookUtil 类登录用户 如果用户存在于手机上 即在 设置 gt Facebook 中登录 FB 则一切都会按预期进行 但如果他们是未通过设置登录 然后用户被带到 Web 视图进行登