Share text with Images on Instagram in ios

2020-05-21 05:35发布

问题:

In my App I sharing an image on Instagram. It is working well in my app.

I am using the following code.

@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()];
UIGraphicsEndImageContext();
NSString  *jpgPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/test.igo"];

NSURL *igImageHookFile = [[NSURL alloc] initWithString:[[NSString alloc] initWithFormat:@"file://%@", jpgPath]];
//    NSURL *igImageHookFile = [[NSURL alloc] initWithString:[[NSString alloc] initWithFormat:@"file://%@", screenshot]];

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

Now I also want to share some text with the image.

As shown in the Image below. In " Write a Caption", I want some default custom text for eg. "Share this photo".

How can I do this?

Thanks in advance...

Edited

I am opening Instagram from my app for sharing images and it works fine.

But Is it possible that Can I check Whether the user has shared it successfully or not?

Means I want to perform some action in my DB when user successfully shares an image.

How can i do this?

回答1:

I got my answer. Just added a line and it worked for me.

self.dic.annotation = [NSDictionary dictionaryWithObject:@"Here Give what you want to share" forKey:@"InstagramCaption"];

Thanks...



回答2:

It is also documented in the official documentation at http://instagram.com/developer/iphone-hooks/

To include a pre-filled caption with your photo, you can set the annotation property on the document interaction request to an NSDictionary containing an NSString under the key "InstagramCaption". Note: this feature will be available on Instagram 2.1 and later.



回答3:

You are no more allowed to share Pre-Filled Text with Instagram or Facebook.

Only Images/Screenshots can be shared via UIDocumentInteractionController.