monish
monish

Reputation: 1405

How to post images with text in facebook integration in Iphone sdk

Here Iam having a problem.Actually I implemented the facebook integration in my application and I need to post the images with text but I dont have any idea how to work on this.can anyone suggest this with a sample code so that it is very helpful for me.

Anyone's help will be much appreciated.

Upvotes: 0

Views: 5953

Answers (3)

vinzenzweber
vinzenzweber

Reputation: 3389

Maybe you would be happy using BMSocialShare. It's a simple lib I wrote.

BMFacebookPost *post = [[BMFacebookPost alloc] 
                        initWithTitle:@"Simple sharing via Facebook, Email and Twitter for iOS!" 
                        descriptionText:@"Posting to Facebook, Twitter and Email made dead simple on iOS. Simply include BMSocialShare as a framework and you are ready to go." 
                        andHref:@"https://github.com/blockhaus/BMSocialShare"];    

[post setImageUrl:@"http://www.blockhausmedien.at/images/logo-new.gif" 
         withHref:@"http://www.blockhaus-media.com"];

[[BMSocialShare sharedInstance] facebookPublish:post];

Upvotes: 0

zonble
zonble

Reputation: 4213

If you want to upload the images to your server, and post a small story to Facebook's wall. Use the stream API.

FBStreamDialog *dialog = [[[FBStreamDialog alloc] init] autorelease];
dialog.delegate = self;
dialog.userMessagePrompt = @"Prompt";

NSString *name = @"Your caption";
NSString *src = @"http://example.com/path/of/your/image";
NSString *href = @"http://what/happens/if/the/user/click/on/the/image";

NSString *attachment = [NSString stringWithFormat:@"{\"name\":\"%@\",\"media\":[{\"type\":\"image\", \"src\":\"%@\", \"href\":\"%@\"}]}", name, src, href];
dialog.attachment = attachment;
[dialog show];  

Upvotes: 1

zonble
zonble

Reputation: 4213

I assume that you want to draw some text in an image, and then upload the image to Facebook.

At first, we need to draw the original image and the desired text into a new image.

UIGraphicsBeginImageContext(CGSizeMake(320.0, 320.0));
CGContextRef context = UIGraphicsGetCurrentContext();
// Draw the original image
[image drawInRect:CGRectMake(0, 0, 320.0, 320.0)];
// Draw the text
[@"text" drawInRect:CGRectMake(...) withFont:[UIFont systemFontOfSize:20.0];

UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

And then, convert the image into NSData and call Facebook's "photos.upload" API to upload it.

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];

Upvotes: 2

Related Questions