FBSDK(新Facebook SDK 4.0)实施不适用于使用Facebooklogin
我正在使用Facebook Developer中提到的下面的块。 但是,当我的应用程序从浏览器callback,那么它总是返回取消结果。
FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init]; [login logInWithReadPermissions:@[@"email"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) { if (error) { // Process error } else if (result.isCancelled) { // Handle cancellations } else { // If you ask for multiple permissions at once, you // should check if specific permissions missing if ([result.grantedPermissions containsObject:@"email"]) { // Do work } } }];
此更新于3月25日15日发布,
如果有人使用这个,那么请与我分享。
参考: https : //developers.facebook.com/docs/ios/getting-started
您必须在您的appDelegate中添加以下方法
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation { return [[FBSDKApplicationDelegate sharedInstance] application:application openURL:url sourceApplication:sourceApplication annotation:annotation]; }
如果上面的方法不在AppDelegate中,那么它将导致取消状态。
请参阅: https : //developers.facebook.com/docs/ios/getting-started#startcoding
您可以根据您的预期要求使用这个简单的块
if ([FBSDKAccessToken currentAccessToken]) { [[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:nil] startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id user, NSError *error) { if (!error) { // NSDictionary *dictUser = (NSDictionary *)user; // This dictionary contain user Information which is possible to get from Facebook account. } }]; }
访问令牌,你只会得到,只有成功login后
希望对你有帮助
要获得用户configuration文件尝试这一点
if ([FBSDKAccessToken currentAccessToken]) { [[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:nil] startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id user, NSError *error) { if (!error) { NSDictionary *dictUser = (NSDictionary *)user; self.txfName.text = [dictUser objectForKeyNotNull:@"name"]; self.txfEmail.text = [dictUser objectForKeyNotNull:@"email"]; self.txfUserName.text = [[dictUser objectForKey:@"first_name"] lowercaseString]; NSLog(@"image : https://graph.facebook.com/%@/picture?type=small",[dictUser objectForKeyNotNull:@"id"]); } }]; }
希望这会帮助你
你不能从Facebooklogin获得电子邮件ID ….为什么?
如果您的Facebook帐户使用“手机号码”注册,并且您没有同一帐户中的电子邮件。
检查这种情况。 这可能正在发生,我们不能把它归咎于FBSDK 。
希望这会清楚一些观点。
对我来说,下面的一行是被取消的,始终是真的… idk为什么
[login logInWithReadPermissions:@[@"public_profile", @"email", @"gender"]
改变到这个…它的工作
[login logInWithReadPermissions:@[@"public_profile"]
- iOS:我安装了共享扩展,但不可能从我的应用程序库中select图像
- 社交活动表(如iOS 6)
- iOS – 分享图片+文字到WhatsApp?
- iOS共享自定义对话框
- UIActivityViewController与iOS中的UIDocumentInteractionController
- 使用AirDrop分享资产库中的video失败
- Hackhactons中的iOS开发与未知的开发者? 如何共享Xcode和debugging工具给没有OSX设备的人?
- iOS 6共享消息,不像照片(UIActivityViewController和UIDocumentInteractionController)
- 共享应用程序时产生的“FBAppCall无效使用”错误 – Facebook应用程序ID未注册为URLscheme