iOS:检查用户是否已使用Facebook登录?

时间:2015-05-13 18:23:32

标签: ios swift facebook-login

我已经开始使用Swift和故事板在Xcode上开发iOS应用程序了。我有一个要求,点击按钮,我将在屏幕上显示用户的Facebook个人资料信息(仅当用户使用Facebook登录时),但如果他未登录,则会自动进入登录屏幕并且在成功登录后,将显示配置文件视图。

我该怎么做?

4 个答案:

答案 0 :(得分:20)

如果您使用的是Facebook登录SDK,请致电

FBSDKAccessToken.currentAccessToken()

如果用户已登录,则不会为空。

https://developers.facebook.com/docs/facebook-login/ios/v2.3#token

答案 1 :(得分:6)

使用最新的Facebook SDK,您可以这样检查:

if FBSDKAccessToken.current() != nil {
    // logged in
}
else {
    // not logged in 
}

他们最近从FBSDKAccessToken.currentAccessToken()更改为FBSDKAccessToken.current()

答案 2 :(得分:0)

对于swift中更方便和标准的代码,您可以使用以下代码段。顺便说一下,我使用的是Swift 2.2和Xcode 7.3.1。

if let loggedInUsingFBTokenCheck = FBSDKAccessToken.currentAccessToken(){
     //User is already logged-in. Please do your additional code/task.
}else{
    //User is not logged-in. Allow the user for login using FB.
}

如果您想在应用程序启动期间根据登录检查加载特定的viewController,您可以将此代码放在项目的AppDelegate中并检查内部 -

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
//Check here for login
}

谢谢。

答案 3 :(得分:0)

sdk中的Swift 5使用下一部分代码:

$SearchLocation = "C:\Temp\"
$FileGlob = "*.pl"
$allresults = Select-String -Path "$SearchLocation$FileGlob" -Pattern '(.*?)([\w\.]+\.bat)'
$allperlfiles = Get-Childitem -Path "$SearchLocation$FileGlob"

$allperlfiles | ? {
  $_.name -notin $(
    $allresults | select  @{N="Match";E={ $($_.Matches.Groups[2].value) } }
  )
} | Select -expandproperty name | Write-Host