Parse ParseFacebookUtilsV4 登录问题

Posted

技术标签:

【中文标题】Parse ParseFacebookUtilsV4 登录问题【英文标题】:Parse ParseFacebookUtilsV4 login problems 【发布时间】:2015-08-09 14:02:58 【问题描述】:

所以,最近我有一个单独的应用程序被应用程序商店拒绝,因为它使用旧的 pre-FB 4.x SDK '将用户退回到 Safari' 方法来登录 Facebook。 (准则 10.6)

要么我遗漏了一些东西,要么 Parse 也使用 ParseFacebookUtilsV4 做到了这一点。我可以将其设置为使用嵌入式 Web 视图吗?

感谢老爹warbucks。

[PFFacebookUtils facebookLoginManager].loginBehavior = FBSDKLoginBehaviorWeb;

【问题讨论】:

【参考方案1】:

查看这个文件: FBSDKLoginManager.h

  typedef NS_ENUM(NSUInteger, FBSDKLoginBehavior)
    
      /*!
       @abstract Attempts log in through the native Facebook app. If the Facebook app is
       not installed on the device, falls back to \c FBSDKLoginBehaviorBrowser. This is the
       default behavior.
       */
      FBSDKLoginBehaviorNative = 0,
      /*!
       @abstract Attempts log in through the Safari browser
       */
      FBSDKLoginBehaviorBrowser,
      /*!
       @abstract Attempts log in through the Facebook account currently signed in through Settings.
       If no Facebook account is signed in, falls back to \c FBSDKLoginBehaviorNative.
       */
      FBSDKLoginBehaviorSystemAccount,
      /*!
       @abstract Attemps log in through a modal \c UIWebView pop up

       @note This behavior is only available to certain types of apps. Please check the Facebook
       Platform Policy to verify your app meets the restrictions.
       */
      FBSDKLoginBehaviorWeb,
    ;

然后在 Parse 的头文件“PFFacebookUtils.h”中查找 facebook 登录并红色:

/*!
 @abstract Login behavior controls whether to allow, force or prohibit Facebook Login or Inline Facebook Login.

 @discussion Default is to allow Facebook Login, with fallback to Inline Facebook Login.

 @returns The login behavior currently set.
 */
+ (FBSessionLoginBehavior)facebookLoginBehavior;

///--------------------------------------
/// @name Logging In & Creating Facebook-Linked Users

这两个文件包含您需要的信息,以便更改将用户发送到 X、Y 或 Z 以便登录的默认方法。

【讨论】:

您使用的是哪个版本的 PFFacebookUtils?你是自己安装的还是通过 cocoapods 安装的?我尝试使用 PFFacebookUtils 和 PFFacebookUtilsV4 pod,但找不到您粘贴在 PFFacebookUtils 标头中的代码 一秒钟,我正在检查 facebook sdk 版本,好的,所以是的,正如我所怀疑的,我正在使用来自 Facebook 的最新 v4.4.0 SDK 和 Parse SDK 最新 1.7.5 我不使用 Cocoapods,我不会也不能为我工作的人使用免费库,而且 Cocoapods 造成的头痛比人们想象的要大。根据您将哪些库拉入您的代码库,只需拉入 Parse 和 Facebook 库或任何其他库并不难 但是,我同时使用 Parse SDK 和 facebook SDK,但您确实需要 Parse sdk,并且您可以使用它来操作此字段:+ (FBSessionLoginBehavior)facebookLoginBehavior;这是需要弄乱的字段,以确定 Safari 是否登录或是否使用了其他方式,例如弹出愚蠢的弹跳或拉起应用程序。【参考方案2】:

此问题将通过下载最新的 Facebook SDK 和最新的 Parse SDK 来解决,它们最近已更新。新的 SDK 会将您带到 Facebook 应用程序进行登录。

【讨论】:

问题在于它会这样做,而不是在应用程序中打开 web 视图。问题是“我如何设置 parse/pffacebookutils”来触发 web 视图,而不是打开本机 FB 应用程序。 FWIW 我正在使用 cocoapods 来包含最新版本的 PFFacebookUtils + Parse sdk。

以上是关于Parse ParseFacebookUtilsV4 登录问题的主要内容,如果未能解决你的问题,请参考以下文章

ParseFacebookUtilsV4 和 Facebook-iOS-SDK 4.0

<ParseFacebookUtilsV4/PFFacebookUtils.h> 文件未找到

ParseFacebookUtilsV4、Swift 和 CocoaPods:未解析的标识符

Facebook SDK v4 & Parse (Swift)

类“PFFacebookUtils”的重复接口定义 - IOS

如何使用 Facebook SDK 4+ 和 Parse 访问“first_name”权限