Tag: facebook sdk 4.0

下标成员的Facebook SDK错误

我使用Facebook SDKlogin和提取数据在我的最后,但无法解决我面临的问题相关的语法的挑战 func fetchProfile() { let parameters = ["fields": "email, first_name, last_name, picture.type(large)"] FBSDKGraphRequest(graphPath: "me", parameters: parameters).start(completionHandler: { (connection, user, requestError) -> Void in if requestError != nil { print(requestError) return } var email = user["email"] as? String let firstName = user["first_name"] as? String let lastName = user["last_name"] as? String self.nameLabel.text = "\(firstName!) \(lastName!)" var […]

从函数返回数据(Swift)

我想返回结果,并能够从这个函数访问结果数组。 一切都在这个函数中工作,但是我不能返回任何东西,也不能从闭包外部访问函数内部创build的结果或variables。 我想从闭包外部访问result.valueForKey(“id”)。 我怎样才能做到这一点? class ViewController: UIViewController, FBSDKLoginButtonDelegate { var facebookid: NSString = "" var username: NSString = "" var userEmail:NSString = "" override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. if (FBSDKAccessToken.currentAccessToken() == nil) { let loginView : FBSDKLoginButton = FBSDKLoginButton() self.view.addSubview(loginView) loginView.center = […]

PFFVideosUtils logInInBackgroundWithReadPermissions:block:打开Facebook应用程序,而不是使用系统帐户

我已经升级到ParseFacebookUtilsV4,我更新了我的login代码: [PFFacebookUtils logInInBackgroundWithReadPermissions:FACEBOOK_READ_PERMISSIONS block:^(PFUser *user, NSError *error) { … }]; 不过,现在我的应用程序切换到Facebook应用程序一会儿又回来了。 它使用本机Facebook应用程序login,而在设置中仍然有一个有效的iOS Facebook帐户。 如何使PFFacebookUtils v4在系统帐户可用时使用系统Facebook帐户,并在系统帐户不可用时才回退到Facebook应用程序?

在Facebook用Swiftlogin之后Segue不会触发

在此先感谢您的帮助! 我正在写一个快速的应用程序来实现Facebooklogin,并且在login完成后遇到了一些问题。 作为FBSDKLoginButtonDelegate的一部分,我有两个方法: func loginButton(loginButton: FBSDKLoginButton!, didCompleteWithResult result: FBSDKLoginManagerLoginResult!, error: NSError!) {} 和 func loginButtonDidLogOut(loginButton: FBSDKLoginButton!) {} loginbutton是正确实现的,我可以读取权限/ FB令牌,并将其传递到Amazon Cognito。 但奇怪的是,我不能以编程方式从login中退出,进入不同的视图(控制器)。 推入FBloginbutton将用户带到networking浏览器(Facebook SDK处理所有这些),并进行login。 如果我放置一个segue,如: dispatch_async(dispatch_get_main_queue(), { self.performSegueWithIdentifier("segueLoginViewtoHome", sender: nil }) 到loginButton(),它从来没有真正执行(即,当Web浏览器消失,用户返回到视图与loginbutton,而不是由segue预期的新视图)。 我相信这行在浏览器窗口返回到保存loginbutton(和segue)的视图之前执行,但我不知道如何告诉程序“等待”视图成为唯一一个活动和可见再次执行segue。 我相信是这样的,因为如果我把相同的segue代码放到loginButtonDidLogOut()中,在那里不需要切换到浏览器,那么在退出的表单中推入“退出”屏幕的底部。 这个视图控制器被正确设置为委托,正如segue所显示的那样,如果编码在退出时发生,它将正常工作。 任何帮助将不胜感激,道歉的长问题,谢谢!

应用邀请对话委托方法结果参数不包含请求标识

在fb-sdk 3.x 。 在用户向朋友发送请求(使用FBWebDialog )后,我可以获得request id ,这样我可以在我的应用程序中显示用户已经邀请了改进了用户体验的朋友,因为用户已经确认邀请被发送了。 现在使用fb-sdk 4.0 (使用FBSDKAppInviteDialog ),我没有收到任何可以显示邀请朋友的数据。 你有什么build议如何获得邀请朋友列表?

FacebookloginSDK在IOS 9

我正在使用FacebookloginSDK。 它在IOS 7,8和9完美工作。但是,如果手机有Facebook应用程序loginvalidation是在iOS 7和8打开应用程序。但IOS 9不打开Facebook应用程序。 它是打开浏览器(网页)并进行validation。 是什么原因? 任何人有任何想法? 编辑 FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init]; [FBSDKProfile enableUpdatesOnAccessTokenChange:YES]; [login logInWithReadPermissions:@[@"public_profile", @"email"] fromViewController:self handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) { if (error) { NSLog(@"Process error"); } else if (result.isCancelled) { NSLog(@"Cancelled"); } else { NSLog(@"Logged in"); [[NSNotificationCenter defaultCenter] postNotificationName:FBSDKProfileDidChangeNotification object:nil]; } }];

iOS的facebookSDK获取用户完整的细节

Iam使用最后的FBSDK(使用swift) //MARK: sign in with facebook func signInWithFacebook() { if (FBSDKAccessToken.currentAccessToken() != nil) { // User is already logged in, do work such as go to next view controller. println("already logged in ") self.returnUserData() return } var faceBookLoginManger = FBSDKLoginManager() faceBookLoginManger.logInWithReadPermissions(["public_profile", "email", "user_friends"], handler: { (result, error)-> Void in //result is FBSDKLoginManagerLoginResult if (error != […]

Swift通过FacebookUID打开Facebook资料

我试图用他们的Facebook UID在Swift中打开用户的Facebook个人资料。 在模拟器,它的工作原理和打开configuration文件的Web版本,并正常工作,但是在我的实际设备上,它打开了Facebook本地应用程序,并给我一个“页面找不到”的错误。 guard let facebookUID = self.user?.facebookUID else { return } print(facebookUID) let fbURLWeb: NSURL = NSURL(string: "https://www.facebook.com/\(facebookUID)")! let fbURLID: NSURL = NSURL(string: "fb://profile/\(facebookUID)")! if(UIApplication.sharedApplication().canOpenURL(fbURLID)){ // FB installed UIApplication.sharedApplication().openURL(fbURLID) } else { // FB is not installed, open in safari UIApplication.sharedApplication().openURL(fbURLWeb) } 我究竟做错了什么? 提前致谢! 编辑 我注意到,如果用户删除或没有在手机上安装Facebook应用程序,它将通过Safari正确打开configuration文件,这就是为什么它在模拟器上工作,但没有在我的设备上。 不过,我也注意到,如果我尝试像fb://profile/4 (这是Mark Zuckerburg的个人资料)这样的公开个人资料,我可以在Facebook应用中使用它。

parsingFacebook logInInBackgroundWithReadPermissions(Swift)

我已经成功设置了Parse(1.7.1)SDK和Facebook(v4)SDK,设置了桥接头文件和AppDelegate.swift。 现在在我的ViewController,我正在尝试创build一个Facebooklogin,我正在尝试使用“parsingiOS文档 – Facebook注册和login”中给出的代码。 PFFacebookUtils.logInInBackgroundWithReadPermissions(permissions, { (user: PFUser!, error: NSError!) -> Void in if let user = user { if user.isNew { println("User signed up and logged in through Facebook!") } else { println("User logged in through Facebook!") } } else { println("Uh oh. The user cancelled the Facebook login.") } }) 但是,当我把它粘贴在我的ViewController.swift> ViewDidLoad,我收到这个错误: – […]

iOS 9 Facebook SDKlogin/共享

我遇到了使用iOS 9上最新的Facebook SDK(4.6)的问题。要授权用户,我使用FBSDKLoginManager。 我试过设置这个: loginManager.loginBehavior = FBSDKLoginBehaviorNative; 但是SDK似乎总是使用SFSafariViewController来授权Facebook。 这是我面临的问题。 如果用户使用FacebookAccountA在其设备上安装了FB应用程序,然后尝试使用我的应用程序进行身份validation,则会显示此SFSafariViewController,并且可以使用FacebookAccountB(一个单独的FB帐户)对应用程序进行身份validation。 然后在应用程序中,我尝试分享以下内容: FBSDKShareLinkContent *content = [[FBSDKShareLinkContent alloc] init]; content.contentURL = [NSURL URLWithString:shareString]; FBSDKShareDialog *dialog = [[FBSDKShareDialog alloc] init]; dialog.fromViewController = self; dialog.shareContent = content; dialog.delegate = self; [dialog show]; 共享对话框的默认设置是FBSDKShareDialogModeShareSheet。 分享表格正确显示在应用程序中,并且该post似乎可以正常工作,但该链接已发布到FacebookAccountA(本机应用程序帐户),而不是FacebookAccountB(通过我的应用程序进行身份validation的那一个)。 因此,如果用户使用不同的Facebook帐户对自己的应用程序进行身份validation,而不是在其本机应用程序中login,则最终可能会发布到与用于validation应用程序的帐户不同的帐户。 有没有办法来防止这一点? 提前致谢。