I needed to publish a picture on my wall. The pic is generated in my iPad app.
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
This is the simplest way I've found
- (void) postImageToFB:(UIImage*)image
{
NSData* imageData = UIImageJPEGRepresentation(image, 90);
NSMutableDictionary * params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
@"This is my drawing!", @"message",
imageData, @"source",
nil];
[FBRequestConnection startWithGraphPath:@"me/photos"
parameters:params
HTTPMethod:@"POST"
completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
}];
}
if you want to post on a friend's wall, change @"me/photos"
by @"[friendID]/photos"
Then, ask for permissions to publish and call the method
if ([FBSession.activeSession.permissions indexOfObject:@"publish_stream"] == NSNotFound)
{
// No permissions found in session, ask for it
[FBSession.activeSession reauthorizeWithPublishPermissions:[NSArray arrayWithObject:@"publish_stream"]
defaultAudience:FBSessionDefaultAudienceFriends
completionHandler:^(FBSession *session, NSError *error)
{
// If permissions granted, publish the story
if (!error) [self postImageToFB:currentDrawing];
}];
}
// If permissions present, publish the story
else [self postImageToFB:currentDrawing];
An "[App Name] Photos" album will be created, if doesn't exist
It does work for me!
回答2:
For iOS from 4.3 and the UI look like iOS 6.0, I think you want something like this: IOS sharing framework for twitter, facebook, flicr, tumblr