在我的ViewControllerfbdidLogin從來沒有所謂
- (IBAction)loginBtn:(id)sender
{
facebook = [[Facebook alloc] initWithAppId:@"231190276934148" 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",
@"user_about_me",
@"user_photos",
@"friends_about_me",
@"friends_activities",
@"read_stream",
@"publish_stream",
nil];
[facebook authorize:permissions];
}
NSLog(@"asdoiffijd");
}
- (IBAction)btnRequest:(id)sender
{
[facebook requestWithGraphPath:@"me/friends" andDelegate:self];
}
- (void)fbDidLogin
{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:[facebook accessToken] forKey:@"FBAccessTokenKey"];
[defaults setObject:[facebook expirationDate] forKey:@"FBExiprationDateKey"];
[defaults synchronize];
NSLog(@"fbDidLogin!");
}
在我的appDelegate
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
return [facebook handleOpenURL:url];
}
我覺得- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
應該fbdidLogin
之前被調用,但我無法完成這部分[facebook handleOpenURL:url];
在計算器,[[controller facebook] handleOpenURL:url];
將解決問題, ,但我不能這樣做。任何解決方案
是的..我已經嘗試在AppDelegate,它真的工作。 但我可以在appDelegate中創建FB登錄按鈕嗎? – 2012-04-03 10:25:57
不,但在你的視圖控制器中,你可以有一行說'YourAppDelegate * appDelegate =(YourAppDelegate *)[UIApplication sharedApplication] .delegate;'然後你就可以開始使用你的Facebook對象或其方法。 – Rob 2012-04-03 13:21:33