如何使用Swift 2.0和iOS 9.1进行Facebook登录?

我已将最新的Facebook SDK添加到为iOS 9.1编写的XCode 7.1项目中.不幸的是,我所知道的只是 Swift,而不是Objective C. Facebook’s developer site documentation只有Objective C中的文档.Google上的每一次搜索都会显示过于陈旧的文档,因为过去6个月内事情发生了很大的变化.所以我有点迷茫.

我用plist文件做了所有简单的事情.

我能够使用:

import FBSDKCoreKit
import FBSDKLoginKit

我还补充说:

return FBSDKApplicationDelegate.sharedInstance().application(application,openURL: url,sourceApplication: sourceApplication,annotation: annotation)

return FBSDKApplicationDelegate.sharedInstance().application(application,didFinishLaunchingWithOptions: launchOptions)

到我的AppDelegate.swift文件.这一切都有效并且构建成功.显然,我也添加了正确的框架.除此之外,我处于停滞状态,因为我不知道添加登录按钮的语法,用于捕获我认为会返回带有令牌的json字符串以及我可以用来存储在用户帐户中的其他配置文件信息等等. .

你走在正确的轨道上.

Have you set up your pList yet?

您将不得不添加到您的VC,添加登录按钮,处理委托,然后处理FB信息.像(但不完全)这样的东西:

class yourVC: UIViewController,FBSDKLoginButtonDelegate,UITextFieldDelegate 

{
var loginView : FBSDKLoginButton = FBSDKLoginButton()

viewDidLoad() {
            loginView.frame = CGRectMake(20,20,theWidth-40,40)
            self.view.addSubview(loginView)
            loginView.readPermissions = ["public_profile","email","user_friends","user_birthday"]
            loginView.delegate = self

}

func loginButton(loginButton: FBSDKLoginButton!,didCompleteWithResult result: FBSDKLoginManagerLoginResult!,error: NSError!) {
        if ((error) != nil)
        {
        //handle error
        } else {
                returnUserData()
        }
    }

func returnUserData()
    {


  let graphRequest : FBSDKGraphRequest = FBSDKGraphRequest(graPHPath: "me",parameters: ["fields":"id,interested_in,gender,birthday,email,age_range,name,picture.width(480).height(480)"])
    graphRequest.startWithCompletionHandler({ (connection,result,error) -> Void in

        if ((error) != nil)
        {
            // Process error
            print("Error: \(error)")
        }
        else
        {
            print("fetched user: \(result)")
            let id : Nsstring = result.valueForKey("id") as! String
            print("User ID is: \(id)")
            //etc...
         }
      })
}

你将不得不使用returnData()部分来解决它,但是这段代码应该可以让你获得90%的代码.

我已经包含了广泛的权限(用户年龄,感兴趣等),但您必须自己配置它们.老实说,这部分(困难的部分)与它的对象C对应物非常相似,它更好地记录了.只需下载一些可以正常工作的项目,并尝试将它们拼凑成适合您喜欢的东西.

它可能很难让它全部工作,但要试一试,并坚持下去!

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...