1

我正在尝试在 xamarin ios 应用程序中通过 facebook 实现登录,按照monotouch-bindings的示例, 我正在检查用户是否使用以下方法登录 AppDelegate:

var sessionDelegate = new SessionDelegate (this); 
facebook = new Facebook (AppId, sessionDelegate);
if (facebook.IsSessionValid) {
    ShowLoggedIn ();
}
else
{
    ShowLoggedOut ();
}

问题是当用户未登录时,我正在导航到另一个 viewController 以便他登录。当他尝试登录时,Facebook 应用程序会打开,但登录后我没有收到回调。如果我在 AppDelegate 中完成整个流程,那么回调就会起作用。我注意到在 AppDelegate 中实现了 2 个覆盖:

public override bool HandleOpenURL

public override bool OpenUrl

他们都返回return facebook.HandleOpenURL (url); facebook 在 AppDelegate 和登录 viewController 中声明,所以我想这是问题的一部分。我是 iOS 和 mono touch 的新手,所以我希望这是有道理的。任何想法如何解决它?或者可能是不从 AppDelegate 执行 Facebook 登录的示例?

谢谢!

4

1 回答 1

1

这周我也花了几个小时,试图让它工作,我的问题和你的一样。是的,您需要覆盖 OpenUrl,否则您将无法处理 FBsession 中的任何内容,这就是它不适合您的原因。

所以按照美味示例中的描述实现它,它应该可以工作:)

于 2013-03-13T23:22:35.763 回答