使用最新的XCode,我得到了以下错误:
'logInWithReadPermissions(_:handler:)' is deprecated:
use logInWithReadPermissions:fromViewController:handler: instead'我将如何重新格式化我的代码?以下是它的全部功能:
@IBAction func fbBtnPressed(sender: UIButton!) {
let facebookLogin = FBSDKLoginManager()
facebookLogin.logInWithReadPermissions(["email"]) {
(facebookResult: FBSDKLoginManagerLoginResult!,facebookError: NSError!) in
print("Facebook login failed. Error \(facebookError)")
}
}发布于 2016-05-09 02:23:02
伙计们搞清楚了!如果有人潜伏在这篇文章中,下面是新代码:
@IBAction func fbBtnPressed(sender: UIButton!) {
let facebookLogin = FBSDKLoginManager()
facebookLogin.logInWithReadPermissions(["email"], fromViewController: self) { (facebookResult: FBSDKLoginManagerLoginResult!, facebookError: NSError!) -> Void in
print("Facebook login failed. Error \(facebookError)")
}
}发布于 2017-01-07 02:39:43
Xcode 8.2 beta (8C30a):
fbLoginManager.logIn(withReadPermissions:["email"], from: self, handler: {
(result, error) -> Void in
if (error == nil){
let fbloginresult : FBSDKLoginManagerLoginResult? = result
if(fbloginresult?.isCancelled)! {
//Show Cancel alert
} else if(fbloginresult?.grantedPermissions.contains("email"))! {
//self.returnUserData()
//fbLoginManager.logOut()
}
}
})发布于 2016-05-09 02:26:10
如果您的fbBtnPressed函数位于视图控件类中,只需将self传递给fromViewController参数即可。
facebookLogin.logInWithReadPermissions(["email"], fromViewController: self) { ... }但请注意,Swift和Obj鼓励您的函数名称优先考虑可读性而不是紧凑性。例如,我将您的按钮处理程序命名为facebookLoginButtonPressed。它更长,但可读性更强。
https://stackoverflow.com/questions/37106799
复制相似问题