我已按照说明从我的应用程序实现到 Facebook 的登录过程:
https://developers.facebook.com/docs/mobile/ios/build/#implementsso
这是我的代码:
- (IBAction)facebookButton:(id)sender {
facebook = [[Facebook alloc] initWithAppId:@"383032031757454" andDelegate:self];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([defaults objectForKey:@"FBAccessTokenKey"]
&& [defaults objectForKey:@"FBExpirationDateKey"]) {
facebook.accessToken = [defaults objectForKey:@"FBAccessTokenKey"];
facebook.expirationDate = [defaults objectForKey:@"FBExpirationDateKey"];
}
if (![facebook isSessionValid]) {
NSArray *permissions = [[NSArray alloc] initWithObjects:
@"user_likes",
@"read_stream",
nil];
[facebook authorize:permissions];
permissions=nil;
}
}
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
return [facebook handleOpenURL:url];
}
- (void)fbDidLogin {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:[facebook accessToken] forKey:@"FBAccessTokenKey"];
[defaults setObject:[facebook expirationDate] forKey:@"FBExpirationDateKey"];
[defaults synchronize];
}
登录并允许应用程序权限后,Safari 保持打开状态,我必须手动返回到我的应用程序,但是 SDK 提供的示例应用程序“Hackbook”在接受权限并在 Safari 中登录后,它关闭 Safari 并返回回到应用程序。我也想这样做,但没有成功。
这是 .plist 文件:
谢谢
最佳答案
关于objective-c - Facebook SDK IOS登录问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11292418/