gpt4 book ai didi

ios - Facebook 在 iOS 上登录错误的应用程序

转载 作者:可可西里 更新时间:2023-11-01 03:47:22 26 4
gpt4 key购买 nike

我的 iOS 应用程序使用 Facebook 登录,但我的开发团队最近决定将我们所有的应用程序整合到一个具有通用应用程序 ID 的通用 Facebook 应用程序中。所以我进入我的项目并尝试将我的 FacebookAppID 和 URL 类型更改为正确的应用程序 ID,但是当我运行该应用程序并单击登录按钮时,它会将我重定向到我在 Facebook 上的旧应用程序。我完全不知道为什么会这样,但这是我的 AppDelegate 文件中的内容:

/*
Callback for session changes
*/
- (void)sessionStateChanged:(FBSession *)session
state:(FBSessionState) state
error:(NSError *)error
{
switch (state) {
case FBSessionStateOpen:
if (!error) {
// We have a valid session
NSLog(@"User session found");
}
break;
case FBSessionStateClosed:
case FBSessionStateClosedLoginFailed:
[FBSession.activeSession closeAndClearTokenInformation];
break;
default:
break;
}

[[NSNotificationCenter defaultCenter]
postNotificationName:FBSessionStateChangedNotification
object:session];

if (error) {
UIAlertView *alertView = [[UIAlertView alloc]
initWithTitle:@"Error"
message:error.localizedDescription
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alertView show];
}
}

/*
* Opens a Facebook session and optionally shows the login UX.
*/
- (BOOL)openSessionWithAllowLoginUI:(BOOL)allowLoginUI {
NSArray *permissions = [[NSArray alloc] initWithObjects:
@"email",
@"user_games_activity",
@"user_location",
@"user_likes",
@"user_birthday",
nil];
return [FBSession openActiveSessionWithReadPermissions:permissions
allowLoginUI:allowLoginUI
completionHandler:^(FBSession *session,
FBSessionState state,
NSError *error) {
[self sessionStateChanged:session
state:state
error:error];
}];
}

/*
* If we have a valid session at the time of openURL call, we handle
* Facebook transitions by passing the url argument to handleOpenURL
*/
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication
annotation:(id)annotation {
// attempt to extract a token from the url
return [FBSession.activeSession handleOpenURL:url];
}
/*
*Logout
*
*/
- (void) closeSession {
[FBSession.activeSession closeAndClearTokenInformation];
}

最佳答案

您的设备上可能有两个应用程序,它们在应用程序 Info.plist 中具有相同的 Facebook URL 方案。您可以:

  • 删除旧应用,或者
  • 重新安装旧应用,但事先从 Info.plist 文件中删除 Facebook URL 方案

您可能有多个 URL 方案。如果是这样,您应该寻找看起来像 fbxxxxxxxxxxx 的那个,它显示在您的应用程序页面上http://developers.facebook.com/

关于ios - Facebook 在 iOS 上登录错误的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15397317/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com