我有一个应用程序,它会截取自己的截图,我想将其发布在用户的墙上以及评论。
问题是,我似乎尝试了所有选项,但没有一个可行:
[facebook dialog:@"feed" ...]
不起作用,因为您只能提供网址,而不能提供UIImage。
[facebook requestWithGraphPath ...]
不起作用,因为系统未提示用户提供评论。
我可以先(静静地)尝试使用requestWithGraphPath
上传屏幕截图,然后将其新创建的网址提供给dialog
,因为“不允许使用FBCDN图片流”。所有这些当然都是使用回调,其中包括登录回调,这会造成很大的混乱。
我甚至尝试了ShareKit
,但在应用奇怪地能够/无法登录之后忘了它。
请问,我如何分享图像和评论?
答案 0 :(得分:0)
如果您还没有,您可能想在此地址尝试ShareKit的最新开发分支: https://github.com/Sharekit/Sharekit
社区对规范版本进行了重大改进。
答案 1 :(得分:0)
如果您使用的是Facebook最新的iOS SDK,请在Hackbook示例应用程序中查找APICallsViewController.m文件。有这种方法可以直接使用UIImage发布:
/*
* Graph API: Upload a photo. By default, when using me/photos the photo is uploaded
* to the application album which is automatically created if it does not exist.
*/
- (void) apiGraphUserPhotosPost {
NSString *sourcePath = [[NSBundle mainBundle] resourcePath];
NSString *file1 = [sourcePath stringByAppendingPathComponent:@"/MP1101frame1002.jpg"];
UIImage *img = [[[UIImage alloc]initWithContentsOfFile:file1]autorelease];
[self showActivityIndicator];
currentAPICall = kAPIGraphUserPhotosPost;
HackbookAppDelegate *delegate = (HackbookAppDelegate *) [[UIApplication sharedApplication] delegate];
// Download a sample photo
NSURL *url = [NSURL URLWithString:@"http://www.facebook.com/images/devsite/iphone_connect_btn.jpg"];
NSData *data = [NSData dataWithContentsOfURL:url];
// UIImage *img = [[UIImage alloc] initWithData:data]; //here you can insert your UIImage
NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
yourMessageHere, @"message", //whatever message goes here
img, @"picture", //img is your UIImage
nil];
[[delegate facebook] requestWithGraphPath:@"me/photos"
andParams:params
andHttpMethod:@"POST"
andDelegate:self];
}