Swift2 即使应用程序被关闭,也要保持Facebook访问权限
我已经在我的Swift应用程序中实现了Facebook SDK,并使用一个登录按钮将用户重定向到Facebook:Swift2 即使应用程序被关闭,也要保持Facebook访问权限,swift2,facebook-ios-sdk,Swift2,Facebook Ios Sdk,我已经在我的Swift应用程序中实现了Facebook SDK,并使用一个登录按钮将用户重定向到Facebook: @IBAction func btnFBLoginPressed(sender: AnyObject) { let fbLoginManager : FBSDKLoginManager = FBSDKLoginManager() fbLoginManager .logInWithReadPermissions(["public_profile", "email",
@IBAction func btnFBLoginPressed(sender: AnyObject) {
let fbLoginManager : FBSDKLoginManager = FBSDKLoginManager()
fbLoginManager .logInWithReadPermissions(["public_profile", "email", "user_friends"], fromViewController:self, handler: { (result, error) -> Void in
if ((error) != nil)
{
print("Error: \(error)")
}
else if result.isCancelled {
let facebookCancelled = UIAlertController(title: "Facebook Cancelled", message: "You cancelled Facebook sign up.", preferredStyle: UIAlertControllerStyle.Alert)
self.presentViewController(facebookCancelled, animated: true, completion: nil)
facebookCancelled.addAction(UIAlertAction(title: "OK", style: .Cancel, handler: { action in
}))
}
else
{
// If you ask for multiple permissions at once, you
// should check if specific permissions missing
if result.grantedPermissions.contains("email")
{
// Do work
}
self.getFBUserData()
}
})
}
func getFBUserData(){
if((FBSDKAccessToken.currentAccessToken()) != nil){
let graphRequest : FBSDKGraphRequest = FBSDKGraphRequest(graphPath: "me", parameters: ["fields": "id, name, first_name, last_name, picture.type(normal), email"])
graphRequest.startWithCompletionHandler({ (connection, result, error) -> Void in
if ((error) != nil)
{
// Process error
print("Error: \(error)")
}
else
{
print("fetched user: \(result)")
self.facebookTestLabel.text = "\(result)"
//let fullName : NSString = result.valueForKey("name") as! NSString
//print("Full name is: \(fullName)")
}
})
}
}
2件事:
谢谢:)之所以会这样,是因为您在AppDelegate中的FBSDKApplicationDelegate.sharedInstance()之前调用FBSDKAccessToken.currentAccessToken()。应用程序(应用程序,使用选项:launchOptions完成启动)。我在iOS上没有使用Facebook SDK,但在Android上使用过。当我的手机有Facebook应用程序并且它已经登录时,我的应用程序在打开时仍然可以访问FB,尽管我已经关闭了它。谢谢。我需要做的不是访问FB,而是在重新加载我的应用程序时访问已通过身份验证的用户的公共_配置文件、图像和电子邮件。如果用户退出我的应用程序,我知道我需要重新授权,但用户可能只是重新启动他们的手机。我不确定这是否是一个好方法,但你可以将Facebook访问令牌保存在Keychain中。因此,即使你删除了你的应用程序,你也可以在再次安装时访问它。