Iphone 在iPad中将图像发布到Facebook时出现问题
我正在开发iPad应用程序。我想在Facebbok上发布一张图片。我使用了与iPhone相同的整合facebook的过程。 我的问题是,这张图片并没有发布到facebook上,但在iPhone上它可以正常工作Iphone 在iPad中将图像发布到Facebook时出现问题,iphone,objective-c,ipad,fbconnect,Iphone,Objective C,Ipad,Fbconnect,我正在开发iPad应用程序。我想在Facebbok上发布一张图片。我使用了与iPhone相同的整合facebook的过程。 我的问题是,这张图片并没有发布到facebook上,但在iPhone上它可以正常工作 Code: // code to post image to facebook //update user facebook status -(void)setUsersStatus:(UIImage *)crtImage { UIGraphicsBeginI
Code:
// code to post image to facebook
//update user facebook status
-(void)setUsersStatus:(UIImage *)crtImage
{
UIGraphicsBeginImageContext(CGSizeMake(480.0,320.0));
// Draw the original image
[crtImage drawInRect:CGRectMake(0,0,480,320)];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
NSMutableDictionary *args = [[[NSMutableDictionary alloc] init] autorelease];
[args setObject:@"caption" forKey:@"caption"];
FBRequest *uploadPhotoRequest = [FBRequest requestWithDelegate:self];
NSData *data = UIImagePNGRepresentation(newImage);
[uploadPhotoRequest call:@"photos.upload" params:args dataParam:data];
}
// used to post image to facebook
-(void)sentAction:(id)sender
{
IpadComicBuilderAppDelegate* appDelegate =(IpadComicBuilderAppDelegate*) [ [UIApplication sharedApplication] delegate];
[appDelegate.facebookObject tryToUpdateStatus:fbImage];
[self.navigationController dismissModalViewControllerAnimated:YES];
}
有谁能帮我在iPad上把图片上传到FB上吗
提前感谢。假设您正在使用最新的Facebook iOS SDK,并且您已经声明了名为
Facebook
的Facebook
类的实例:
首先检查权限
- (void)setupFacebook
{
NSString *accessToken = [[NSUserDefaults standardUserDefaults] stringForKey:@"FBAccessToken"];
NSDate *tokenExpiryDate = [[NSUserDefaults standardUserDefaults] objectForKey:@"FBExpirationDate"];
facebook.accessToken = accessToken;
facebook.expirationDate = tokenExpiryDate;
if ([facebook isSessionValid] == NO)
{
NSLog(@"Not logged in yet. Let's do it!");
NSArray *permissions = [NSArray arrayWithObjects:@"read_stream", @"offline_access", @"publish_stream", nil];
[facebook authorize:permissions delegate:self];
} else {
NSLog (@"Already logged in and ready to roll.");
[self uploadPhoto]
}
}
通过下面的委托方法可以获得对身份验证请求的响应。在这里,您可以将accessToken和tokenExpiryDate保存到NSUserDefaults中,以便保存登录凭据
-(void)fbDidLogin
-(void)fbDidNotLogin:(BOOL)cancelled
一旦您登录并拥有正确的权限,就可以调用此方法
- (void)uploadPhoto
{
UIImage *image = // Your image here
NSString *graphPath = @"me/photos";
NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:image, @"picture", "Test caption", "caption"];
[facebook requestWithGraphPath:graphPath andParams:params andHttpMethod:@"POST" andDelegate:self];
}
上传呼叫的响应将通过以下代理方法提供:
- (void)request:(FBRequest *)request bodyDataUploadProgress:(CGFloat)progress
- (void)request:(FBRequest *)request didLoad:(id)result
- (void)request:(FBRequest *)request didFailWithError:(NSError *)error
希望有帮助。
罗杰你大概得到了回复。答案是什么?