gpt4 book ai didi

ios - Swift 的 Facebook 登录按钮

转载 作者:IT王子 更新时间:2023-10-29 05:39:01 25 4
gpt4 key购买 nike

在 Xcode 中,如果我创建一个 UIView,然后将自定义类添加为 FBSDKLoginButton,当我单击它时,它会引导我完成 Facebook 登录,然后返回到相同的页面作为 FBSDKLoginButton 但不是说登录按钮,而是说现在注销。当单击登录按钮时,我将如何实现它会导致新 View ?


我通过 cocoapods 下载了 Facebook SDK,这是我第一次使用它,所以我对此感到困惑。感谢您的帮助!

最佳答案

一个选项是将您的 View Controller 设置为 FBSDKLoginButton 的委托(delegate)并实现 loginButton:didCompleteWithResult:error:方法,当使用按钮登录时调用该方法。

swift

class ViewController: UIViewController, FBSDKLoginButtonDelegate {

@IBOutlet weak var loginButton: FBSDKLoginButton!

override func viewDidLoad() {
super.viewDidLoad()

self.loginButton.delegate = self
}
}

Obj-C

// ViewController.h
@interface ViewController : UIViewController <FBSDKLoginButtonDelegate>

@property (weak, nonatomic) IBOutlet FBSDKLoginButton *loginButton;

@end

// ViewController.m
@implementation ViewController

- (void)viewDidLoad {
[super viewDidLoad];

self.loginButton.delegate = self;
}

然后,在 loginButton:didCompleteWithResult:error: 方法中,您可以检查 resulterror,如果一切正常,则导航到另一个 View 。

swift

func loginButton(loginButton: FBSDKLoginButton!, didCompleteWithResult result: FBSDKLoginManagerLoginResult!, error: NSError!) {
if ((error) != nil) {
// Process error
}
else if result.isCancelled {
// Handle cancellations
}
else {
// Navigate to other view
}
}

Obj-C

// ViewController.m
@implementation ViewController

- (void)loginButton:(FBSDKLoginButton *)loginButton
didCompleteWithResult:(FBSDKLoginManagerLoginResult *)result
error:(NSError *)error {
if (error) {
// Process error
}
else if (result.isCancelled) {
// Handle cancellations
}
else {
// Navigate to other view
}
}

您可以在 their docs 中找到更多关于如何使用 FB 登录的信息.

关于ios - Swift 的 Facebook 登录按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29750047/

25 4 0
文章推荐: swift - SKAction playsoundfilenamed 加载声音失败
文章推荐: javascript - 试图理解