上传UImage到Facebook

我的下面的代码张贴UIImage到用户的Facebook墙不工作。我已经看到了与Facebook的SDK一起来的示例代码,它的工作正常。 我无法find我的代码出了什么问题。

-(void) shareOnFacebook { facebook = [[Facebook alloc] initWithAppId:@"MYAPPID" andDelegate:(id)self]; NSArray * neededPermissions = [[NSArray alloc] initWithObjects:@"offline_access",@"user_about_me", @"publish_stream", @"user_photos", nil] ; [facebook authorize:neededPermissions ]; if (![facebook isSessionValid]) { NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys: img, @"picture", nil]; [facebook requestWithGraphPath:@"me/photos" andParams:params andHttpMethod:@"POST" andDelegate:(id)self]; } 

}

请告诉我,可能是什么问题?

提前致谢..

你需要在委托方法- (void)fbDidLogin被调用后调用上传函数。试着这样做,它应该工作

 - (void)fbDidLogin { NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; [defaults setObject:[fb accessToken] forKey:@"FBAccessTokenKey"]; [defaults setObject:[fb expirationDate] forKey:@"FBExpirationDateKey"]; [defaults synchronize]; [self uploadImageWithName:yourImageName]; } - (void) uploadImageWithName : (NSString*)name { NSString *img = [NSString stringWithFormat:@"%@.PNG",name]; UIImage *uploadImage = [UIImage imageNamed:img]; NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys: [fb accessToken], @"access_token",nil]; [params setObject:uploadImage forKey:@"source"]; [fb requestWithGraphPath:@"me/photos" andParams: params andHttpMethod: @"POST" andDelegate:self]; } 

这没有意义,是吗? 如果会话有效,则询问facebook对象,如果不是 ,则继续上传照片。 我不知道如果其余的代码是好的,但至less尝试删除条件或将其更改为if ([facebook isSessionValid]) ,看看是否有帮助。