IOS Facebook的API不火fbLogin
问题描述:
我需要使用Facebook的API: 在appdelegate.m我有这样的代码:IOS Facebook的API不火fbLogin
// 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"];
}
后,在另一种观点认为我有这样的:
AppDelegate* dlg = (AppDelegate *)[[UIApplication sharedApplication] delegate];
NSArray *permissions = [[NSArray alloc] initWithObjects:@"offline_access", nil];
if (![[dlg facebook] isSessionValid]) {
[[dlg facebook] authorize:permissions];
}
和正常工作:打电话与safari授权使用我的应用程序,我点击确定授权,我的应用程序再次被调用...我的应用程序可视化之前授权的最后一个视图,但事件
- (void)fbDidLogin
{
NSLog(@"fbDidLogin");
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:[facebook accessToken] forKey:@"FBAccessTokenKey"];
[defaults setObject:[facebook expirationDate] forKey:@"FBExpirationDateKey"];
[defaults synchronize];
}
- (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];
}
感谢rowwingman,现在工作得很好! – ghiboz 2012-03-09 00:36:45