我嘗試使用doc的火力提供。也許我錯誤地從obj轉換它。 C.請看下面。FBSDKLoginMangerLoginResult,NSError斯威夫特7.3.1
override func viewDidLoad() {
super.viewDidLoad()
facebookLoginBtn.addTarget(self, action: #selector(self.facebookLoginBtnPress), forControlEvents: .TouchUpInside)
}
// MARK Facebook btn pressed
@IBAction func facebookLoginBtnPress(sender: AnyObject) {
let login = FBSDKLoginManager()
login.logInWithReadPermissions(["email"], fromViewController: self, handler: {(facebookResult: FBSDKLoginManagerLoginResult, facebookError: NSError?) -> Void in
if facebookError != nil {
} else if facebookResult.isCancelled {
let accessToken = FBSDKAccessToken.currentAccessToken().tokenString
}
})
}
這是目標。 ç
// Handle clicks on the button
[myLoginButton
addTarget:self
action:@selector(loginButtonClicked) forControlEvents:UIControlEventTouchUpInside];
// Once the button is clicked, show the login dialog
-(void)loginButtonClicked
{
FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
[login
logInWithReadPermissions: @[@"public_profile"]
fromViewController:self
handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
if (error) {
NSLog(@"Process error");
} else if (result.isCancelled) {
NSLog(@"Cancelled");
} else {
NSLog(@"Logged in");
}
}];
}
這是錯誤
無法將類型的價值 - '!FBSDKLoginMangerRequestTokenHandler' '(FBSDKLoginMangerLoginResult,NSError?)>虛空' 預期參數類型