我有我创建的图像,我想通过Instagram应用程序分享它,我应该怎么做?
- (IBAction)instagramShareTapped:(UIButton *)sender {
UIImage *img = self.myImage;
NSURL *instagramURL = [NSURL URLWithString:[NSString stringWithFormat:@"instagram://**WHAT_SHOULD_I_PUT_HERE?**]];
if ([[UIApplication sharedApplication] canOpenURL:instagramURL]) {
[[UIApplication sharedApplication] openURL:instagramURL];
}
}
答案 0 :(得分:2)
以下是我如何使用URL Schema与Instagram分享UIImage:
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
UIImage *image = // your image that you want share
[library writeImageToSavedPhotosAlbum:image.CGImage orientation:(ALAssetOrientation)image.imageOrientation completionBlock:^(NSURL *assetURL, NSError *error) {
NSString *escapedString = [assetURL.absoluteString stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet alphanumericCharacterSet]];
NSURL *instagramURL = [NSURL URLWithString:[NSString stringWithFormat:@"instagram://library?AssetPath=%@", escapedString]];
if ([[UIApplication sharedApplication] canOpenURL:instagramURL]) {
[[UIApplication sharedApplication] openURL:instagramURL];
} else {
NSLog(@"Instagram app not found.");
}
}];
答案 1 :(得分:-1)
文档互动
如果您的应用程序创建照片并且您希望用户使用Instagram共享这些照片,则可以使用文档交互API在Instagram的共享流程中打开您的照片。
您必须先以PNG或JPEG(首选)格式保存文件,并使用文件扩展名“.ig”。使用iOS文档交互API,您可以触发Instagram打开的照片。我们的文档交互UTI的标识符是com.instagram.photo,它符合public / jpeg和public / png UTI。有关详细信息,请参阅Apple文档文章:预览和打开文件以及UIDocumentInteractionController类参考。
或者,如果您只想在应用程序列表中显示Instagram(而不是Instagram以及任何其他符合公共/ jpeg标准的应用程序),您可以指定扩展类igo,其类型为com.instagram.exclusivegram。
触发后,Instagram会立即向用户显示我们的过滤器屏幕。图像预先加载并适合Instagram的大小。为了获得最佳效果,Instagram更喜欢打开640像素×640像素的JPEG。如果图像较大,则会动态调整大小。
要在照片中包含预先填充的标题,可以将文档交互请求中的注释属性设置为包含“InstagramCaption”键下的NSString的NSDictionary。此功能在Instagram 2.1及更高版本中可用。