-
-
Save stelabouras/1634b0c3ef080a0aa733 to your computer and use it in GitHub Desktop.
- (void)loadCameraRollAssetToInstagram:(NSURL*)assetsLibraryURL andMessage:(NSString*)message | |
{ | |
NSString *escapedString = [assetsLibraryURL.absoluteString urlencodedString]; | |
NSString *escapedCaption = [message urlencodedString]; | |
NSURL *instagramURL = [NSURL URLWithString:[NSString stringWithFormat:@"instagram://library?AssetPath=%@&InstagramCaption=%@", escapedString, escapedCaption]]; | |
[[UIApplication sharedApplication] openURL:instagramURL]; | |
} |
Since August 2015 that you can't.
Beginning today, the iOS Hooks and Android Intents will stop accepting captions passed by third party apps. (...) Instagram will ignore the caption text. To create a caption for a photo or video shared by a third party app, users will have to enter a caption manually, the same way they already do when sharing content using the Instagram native apps.
http://developers.instagram.com/post/125972775561/removing-pre-filled-captions-from-mobile-sharing
this code do not show photo anymore into Instagram app, any idea?
NSString *caption2 = @"wertheclay";
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
[library writeImageToSavedPhotosAlbum:self.image.CGImage metadata:nil completionBlock:^(NSURL *assetURL, NSError *error) {
NSURL *instagramURL = [NSURL URLWithString:[NSString stringWithFormat:@"instagram://library AssetPath=%@&InstagramCaption=%@", assetURL, caption2]];
NSLog(@"assetURL %@", assetURL);
[[UIApplication sharedApplication] openURL:instagramURL];
}];
i'm having the same issue @mlagadhir, the url is not working.
let fileURLString = url.absoluteString.stringByAddingPercentEncodingWithAllowedCharacters(.URLHostAllowedCharacterSet())
let encodedURLString = "instagram://library?AssetPath=\(fileURLString)"
guard let encodedURL = NSURL(string:encodedURLString) else { print("failed to create instagram url") }
This fails to create the url for instagram every time. have you had any luck?
instagram://library?AssetPath=(assetsLibraryUrl) stopped working a while ago. Instagram developers probably moved to Photos framework and no longer use the AssetsLibrary.
Having this assumption I tried several other parameter names and found that instagram://library?LocalIdentifier=(localID) where localId is the localIdentifier of your PHAsset works for now.
This is still as undocumented as it was so it can break in any future version of the Instagram.
instagram://library?LocalIdentifier=(localID)
stopped working...
instagram://library?LocalIdentifier=(localID) stopped working for me as well
LocalIdentifier
works for me.
Using an unescaped local identifier along with the URL param OpenInEditor=1
seems to get it working again, at least currently.
Example: instagram://library?OpenInEditor=1&LocalIdentifier=DBD74ED9-4D9D-4F35-B12A-5B647944DDFE/L0/001
instagram://library?AssetPath=\(fileURLString)
starting crashing for me all of a sudden, changing to instagram://library?OpenInEditor=1&LocalIdentifier=\(fileLocalIdString)
works.
is there a way from preventing it showing the POST TO FEED / STORY that started showing up recently? I'd like to go directly to my feed
I am facing the same issue the image which i want to share from app isn't landing on Instagram image editor, its forcing me to choose photo from library or camera
Same issue as @innoravaneer
Thanks and i need same thing working for whatsapp Also so please can you share code for whatsApp ?
@Jaydip-iOS, check this out: https://faq.whatsapp.com/en/iphone/23559013
`instagram://library?OpenInEditor=1&LocalIdentifier=+${encodedURL}`;
Worked for me :)
Stopped working now. Any other way to do this?
InstagramCaption is not working on my code. When it opens Instagram, it shows no caption. Even if I use a single word with no space or special chars.