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)