我试图让用户通过Facebook登录我的应用程序。我正在遵循本指南https://developers.facebook.com/docs/howtos/login-with-facebook-using-ios-sdk/
我已经按照所有步骤进行了操作,包括名为“Facebook sdk for iOS入门”的步骤。
当我复制并粘贴以下方法时,我在这里收到错误:
return [FBSession openActiveSessionWithPermissions:permissions
这是我复制和粘贴的方法。
- (BOOL)openSessionWithAllowLoginUI:(BOOL)allowLoginUI {
NSArray *permissions = [[NSArray alloc] initWithObjects:
@"user_likes",
@"read_stream",
nil];
return [FBSession openActiveSessionWithPermissions:permissions
allowLoginUI:allowLoginUI
completionHandler:^(FBSession *session,
FBSessionState state,
NSError *error) {
[self sessionStateChanged:session
state:state
error:error];
}];
}
错误说明:“没有已知的选择器类方法'openActiveSessionWithPermissions:allowLoginUI:completionHandler:'”
有人可以帮我弄清楚我做错了什么吗? 如果您想查看我的更多代码来解决问题,请告诉我。
答案 0 :(得分:2)
将facebook sdk更新为最新版本,然后按照美味的例子进行操作。
答案 1 :(得分:0)
我真的怀疑这会解决你的问题,但值得一试。 NSError通常在作为参数传递之前采用&符号(“&”)。因此,请将其写为error:&error
。
答案 2 :(得分:0)
补充mLamaa答案,请查看Facebook升级指南并按照以下两个步骤操作:
1-更新facebook SDK
2-将openActiveSessionWithPermissions函数替换为openActiveSessionWithReadPermissions
参考:
https://developers.facebook.com/docs/ios/upgrading/
从3.0升级到3.1
“因此,如果您的应用程序以前使用过SDK的v3.0,则需要删除openActiveSessionWithPermissions的使用:allowLoginUI:completionHandler:并将其替换为openActiveSessionWithReadPermissions:allowLoginUI:completionHandler :(或更简单的说,openActiveSessionWithAllowLoginUI)。“