次のコードを使用して、アプリケーションから Instagram に写真をエクスポートしようとしています。
// Capture Screenshot
UIGraphicsBeginImageContextWithOptions(self.view.frame.size,self.view.opaque,0.0);
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage * image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
NSData *imageData = UIImageJPEGRepresentation(image, 1.0);
NSString *jpgPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/test.igo"];
NSURL *igImageHookFile = [[NSURL alloc] initWithString:[[NSString alloc] initWithFormat:@"file://%@", jpgPath]];
dic = [UIDocumentInteractionController interactionControllerWithURL:[NSURL fileURLWithPath:igImageHookFile]];
dic.UTI = @"com.instagram.photo";
dic.annotation = [NSDictionary dictionaryWithObject:@"my caption" forKey:@"InstagramCaption"];
NSURL *instagramURL = [NSURL URLWithString:@"instagram://app"];
if ([[UIApplication sharedApplication] canOpenURL:instagramURL]) {
[[UIApplication sharedApplication] openURL:instagramURL];
} else {
NSLog(@"No Instagram Found");
}
しかし、それは機能していません。次のエラーでクラッシュします。
2013-01-19 20:40:41.948 Ayat[12648:c07] * キャッチされない例外 'NSInvalidArgumentException' が原因でアプリを終了しています。理由: '* -[NSURL initFileURLWithPath:]: nil string parameter'
私が適切かどうかわかりません:
1-私が撮ったスクリーンショットとしてjpgpathを保存します。
2-「dic」ドキュメントを Instagram に渡します。