我已将最新的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对应物非常相似,它更好地记录了.只需下载一些可以正常工作的项目,并尝试将它们拼凑成适合您喜欢的东西.
它可能很难让它全部工作,但要试一试,并坚持下去!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。