Hiren Hiren - 1 year ago 207
Objective-C Question

How to share an image on Instagram in iOS?

Today i have faced one difficult problem. My client wants to share an image on Instagram, twitter, Fb.

I have done twitter and Fb but did not find any API or any thing on internet to share image on Instagram. Is it possible to share image on Instagram? if yes then how?

When i check the developer site of instagram I have found the Libraries of Ruby on Rails and Python. But there are no documentation of iOS Sdk

I have get token from instagram as per instagram.com/developer but now don't know what to do next step for sharing with instagram image.

please help me

Answer Source

Finally I got the answer. you can not directly post an image on instagram. You have to rediredt your image with UIDocumentInteractionController.

@property (nonatomic, retain) UIDocumentInteractionController *dic;    

CGRect rect = CGRectMake(0 ,0 , 0, 0);
UIGraphicsBeginImageContextWithOptions(self.view.bounds.size, self.view.opaque, 0.0);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
NSString  *jpgPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/test.igo"];

NSURL *igImageHookFile = [[NSURL alloc] initWithString:[[NSString alloc] initWithFormat:@"file://%@", jpgPath]];
self.dic.UTI = @"com.instagram.photo";
self.dic = [self setupControllerWithURL:igImageHookFile usingDelegate:self];
self.dic=[UIDocumentInteractionController interactionControllerWithURL:igImageHookFile];
[self.dic presentOpenInMenuFromRect: rect    inView: self.view animated: YES ];

- (UIDocumentInteractionController *) setupControllerWithURL: (NSURL*) fileURL usingDelegate: (id <UIDocumentInteractionControllerDelegate>) interactionDelegate {
     UIDocumentInteractionController *interactionController = [UIDocumentInteractionController interactionControllerWithURL: fileURL];
     interactionController.delegate = interactionDelegate;
     return interactionController;

NOTE : once you redirect to instagram app you can not back to your app. you have to open your app again

Download source from here

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download