Parse 和 Facebook SDK - 发送到类的无法识别的选择器

Posted

技术标签:

【中文标题】Parse 和 Facebook SDK - 发送到类的无法识别的选择器【英文标题】:Parse and Facebook SDK - unrecognized selector sent to class 【发布时间】:2015-08-02 14:52:07 【问题描述】:

我目前正在使用最新的 Facebook SDK、Parse SDK 和 Xcode。 Parse SDK 框架被复制到我的项目中,同时引用了 Facebook SDK 框架。我正在使用 Facebook 提供的 Bolts.framework,并将我的 Parse 帐户与我的 Facebook 应用程序连接起来。

问题是当我尝试在我的 AppDelegate.m 文件中实现时(当然是在 Parse setApplicationId 之后):

[PFFacebookUtils initializeFacebookWithApplicationLaunchOptions:launchOptions];

我的应用程序崩溃并出现以下错误:

*** 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“+[PFFacebookUtils initializeFacebookWithApplicationLaunchOptions:]:无法识别的选择器发送到类 0x102c060b0”

这些是我包含的头文件:

#import <Parse/Parse.h>
#import <FBSDKCoreKit/FBSDKCoreKit.h>
#import <FBSDKLoginKit/FBSDKLoginKit.h>
#import <ParseFacebookUtilsV4/PFFacebookUtils.h>

当我单独使用普通的 Facebook SDK 时,它可以正常工作 - 我可以使用 Facebook 登录按钮登录。当 Parse 使用它的 PFFacebookUtils 类时,我的经历很糟糕。起初,由于使用此解决方案修复的链接器错误,我什至无法构建项目: https://***.com/a/18626232/3608136

我已经尝试过 *** 中的所有解决方案,但我无法弄清楚。这是我的“搜索路径”的外观:

$(inherited)
$(PROJECT_DIR)/parse-library-1
/Users/me/Documents/FacebookSDK

与 Parse 相关的所有内容都在 parse-library-1 中。 顺便说一句,不用说..当我尝试使用其他方法(如 logInInBackgroundWithReadPermissions)时,它会崩溃。

【问题讨论】:

【参考方案1】:

您可以尝试在项目设置中的Other Linker Flags部分添加“-ObjC”标志。

我遇到了另一个框架,解决方案就是这样!

希望对你有帮助!

【讨论】:

你能把头发描述得更清楚吗? @Unome,您必须在设置部分添加文本“-ObjC”,例如Xcode的捕获:i.imgur.com/qFTZGkZ.png

以上是关于Parse 和 Facebook SDK - 发送到类的无法识别的选择器的主要内容,如果未能解决你的问题,请参考以下文章

Parse.com 和 Facebook SDK 问题

如何强制 CocoaPods 使用 Facebook 和 Parse SDK 的二进制版本?

使用 Parse iOS SDK 和 Facebook 构建错误

使用 Parse 和 Facebook SDK 的未知接收器 FBSDKRequestConnection

Xcode 6 中的 Parse 和 Facebook SDK 导入冲突(无法识别“ParseFacebookUtils”)

Facebook SDK v4 & Parse (Swift)