gpt4 book ai didi

iphone - ios facebook api 不触发 fbLogin

转载 作者:行者123 更新时间:2023-11-28 23:03:54 24 4
gpt4 key购买 nike

我需要使用 facebook api:在 appdelegate.m 中我有这段代码:

// Initialize Facebook
facebook = [[Facebook alloc] initWithAppId:@"MY_TOKEN" andDelegate:self];

// Check and retrieve authorization information
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([defaults objectForKey:@"FBAccessTokenKey"] && [defaults objectForKey:@"FBExpirationDateKey"]) {
facebook.accessToken = [defaults objectForKey:@"FBAccessTokenKey"];
facebook.expirationDate = [defaults objectForKey:@"FBExpirationDateKey"];
}

之后,在另一个 View 中我有这个:

AppDelegate* dlg = (AppDelegate *)[[UIApplication sharedApplication] delegate];
NSArray *permissions = [[NSArray alloc] initWithObjects:@"offline_access", nil];

if (![[dlg facebook] isSessionValid]) {
[[dlg facebook] authorize:permissions];
}

并且工作正常:使用我的应用程序的授权调用 safari,我单击确定以授权并再次调用我的应用程序...我的应用程序可视化授权前的最后一个 View ,但事件

- (void)fbDidLogin
{
NSLog(@"fbDidLogin");
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:[facebook accessToken] forKey:@"FBAccessTokenKey"];
[defaults setObject:[facebook expirationDate] forKey:@"FBExpirationDateKey"];
[defaults synchronize];
}

在 AppDelegate.m 中(我的 appdelegate 有 FBSessionDelegate)没有被触发(FBSessionDelegate 的其他事件也没有被触发,比如 fbDidNotLogin。 ..

我的错误在哪里?提前致谢

最佳答案

我认为您忘记了这两种方法,并且可能忘记将您的 Facebook 应用程序 ID 添加到信息文件中的 URL 类型。 for more detail
//4.2 之前的支持

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
return [facebook handleOpenURL:url];
}

//支持 4.2+

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
return [facebook handleOpenURL:url];
}

关于iphone - ios facebook api 不触发 fbLogin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9611023/

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