我已经在我的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
}