Swift:是否可以避免登录时出现 Facebook SDK 4.x "You have already authorized this app" 对话框?
Swift: Is it possible to avoid Facebook SDK 4.x "You have already authorized this app" dialog on login?
我已经在我的iOS应用程序中成功实现了Facebook SDK,可以登录/注销并根据FB登录成功显示视图。
但是,有一个烦人的对话框在初始登录后不断出现 - "You have already authorized this app"。有没有办法避免这种情况?
这只出现在模拟器上,但不会出现在我当前实现的设备上。
添加更详细的答案:当您调用 Facebook SDK 的登录方法时,它会通过登录流程向用户发送,无论用户是否已经授权该应用程序。
如果你想避免这种情况,你可以在你的应用程序中添加一个手动检查,看看用户是否已经登录并拥有一个有效的令牌,如果是这样,像以前一样继续,否则触发登录码。
documentation这里有更多的细节,但基本上大概是这样的(使用SDK的v4.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
}
我已经在我的iOS应用程序中成功实现了Facebook SDK,可以登录/注销并根据FB登录成功显示视图。
但是,有一个烦人的对话框在初始登录后不断出现 - "You have already authorized this app"。有没有办法避免这种情况?
这只出现在模拟器上,但不会出现在我当前实现的设备上。
添加更详细的答案:当您调用 Facebook SDK 的登录方法时,它会通过登录流程向用户发送,无论用户是否已经授权该应用程序。
如果你想避免这种情况,你可以在你的应用程序中添加一个手动检查,看看用户是否已经登录并拥有一个有效的令牌,如果是这样,像以前一样继续,否则触发登录码。
documentation这里有更多的细节,但基本上大概是这样的(使用SDK的v4.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
}