我目前正在开发一款允许通过Facebook / Parse登录的iOS应用程序。登录流程如下:
登录按钮并打开Facebook登录窗口;
用户登录并在Facebook上授予权限;
app检索Facebook accessToken信息;
app执行[PFFacebookUtils logInInBackGroundWithAccessToken:(accessToken)^ block {}]进行Parse登录验证;
app进入视图并尝试执行查询以从Parse获取与该用户关联的数据。
问题是:执行logInInBackgroundWithAccessToken后,[PFUser currentUser]返回nil,我得到一个“无法对类型:( null)进行比较查询”错误。
答案 0 :(得分:1)
确定!解决了!
在深入研究代码后,我意识到了
[PFFacebookUtils logInInBackgroundWithAccessToken:(accessToken) block:^(nullable__block){}];
由于未知原因未执行回调。
为了解决这个问题,我在视图的-viewDidLoad方法中添加了一个检查,以查看是否存在有效的[FBSDKAccessToken currentAccessToken]但是没有有效的[PFUser currentUser],如果是,我强制执行该方法。
如果您需要更全面的解释,请随时留下您的评论!谢谢!
答案 1 :(得分:0)
doLogin()
方法processCurrentUser,继续处理我的程序执行,presentWalkThroughViewController显示登录屏幕。一旦用户登录,这是否可以安全地在Facebook上跳过登录屏幕?