Nic*_*ick 9 facebook-ios-sdk swift ios8
我试图熟悉FB最新的IOS SDK(4.0.1).我已将它集成到IOS8 Swift项目中,并使用FBSDKLoginButton来记录和退出用户.我希望应用程序在用户已经登录时跳过显示Login视图控制器.
我应该只检查FBSDKAccessToken currentAccessToken()的返回结果吗?如果用户没有登录,这会返回'nil'吗?文档有关于此方法的以下内容:
您可以在应用程序冷启动时从钥匙串缓存或应用程序书签加载SDK.您应该在视图控制器的viewDidLoad中检查其可用性.
就像是:
// LoginViewController.swift
override func viewDidLoad() {
super.viewDidLoad()
if(FBSDKAccessToken.currentAccessToken()){
//They are logged in so show another view
}else{
//They need to log in
}
}
Run Code Online (Sandbox Code Playgroud)
因此,这听起来像它可能是什么我要找的,但我真的不能从这个描述出来.SO的优秀人员如何处理这个常见用例?:)
-缺口
jef*_*fjv 22
是的,FBSDKAccessToken.currentAccessToken()是你应该检查的,虽然你的代码不起作用,因为这不会返回布尔值.你需要这样的东西:
if(FBSDKAccessToken.currentAccessToken() != nil) {
//They are logged in so show another view
} else {
//They need to log in
}
Run Code Online (Sandbox Code Playgroud)
此外,这仅适用于应用程序在前景/后台(用户点击主页按钮)之间移动的情况.如果应用程序被终止并且冷启动,则除非您在AppDelegate中的didFinishlaunchingWithOptions中实现以下内容,否则令牌将丢失:
return FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: launchOptions)
Run Code Online (Sandbox Code Playgroud)
您无需担心钥匙串,因为只要您实施必要的部件,就会自动为您处理.
下面的网站有一个很好的教程,可以让一个简单的例子工作:http: //www.brianjcoleman.com/tutorial-how-to-use-login-in-facebook-sdk-4-0-for-swift/
| 归档时间: |
|
| 查看次数: |
6508 次 |
| 最近记录: |