Swift:是否可以在登录时避免Facebook SDK 4.x "You have already authorized this app"对话框?



我已经在我的iOS应用中成功实现了Facebook SDK,可以登录/注销并根据FB登录成功显示视图。

然而,有一个恼人的对话框,一直显示过去的初始登录-"你已经授权了这个应用程序"。有办法避免这种情况吗?

这只出现在模拟器上,而不是在我当前实现的设备上。

添加一个更详细的答案:当你调用Facebook SDK的登录方法时,它会将用户发送到登录流程,而不管用户是否已经授权了该应用。

如果你想避免这种情况,你可以在你的应用程序中添加一个手动检查,看看用户是否已经登录并且有一个有效的令牌,如果是这种情况,继续像你之前一样,否则触发登录码。

文档在这里有更多的细节,但基本上它大致看起来像这样(使用v4。SDK的x)

if ([FBSDKAccessToken currentAccessToken]) {
    // User is logged in, do work such as go to next view controller. 
    // You can also check if the token is still valid by using the
    // expirationDate property of the currentAccessToken
} else {
    // User is not logged in, start login flow
}

相关内容

最新更新