4

我有一张图片,我想将其导出到 Instagram,以便发布。

我正在使用的代码是:

NSURL *instagramURL = [NSURL URLWithString:@"instagram://location?id=1"];
if ([[UIApplication sharedApplication] canOpenURL:instagramURL]) {
    NSString *documentsDirectory = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
    NSString *savedImagePath = [documentsDirectory stringByAppendingPathComponent:@"Image.igo"];

    UIImage *image = [UIImage imageNamed:@"01.png"];

    NSData *imageData = UIImagePNGRepresentation(image);
    [imageData writeToFile:savedImagePath atomically:YES];        
    NSURL *imageUrl = [NSURL fileURLWithPath:savedImagePath];
    NSLog(@"%@",imageUrl);
    UIDocumentInteractionController *docController = [[UIDocumentInteractionController alloc] init];        
    docController.delegate = self;
    docController.UTI = @"com.instagram.exclusivegram";
    docController.URL = imageUrl;
    //[docController setURL:imageUrl];
    [docController presentOpenInMenuFromRect:CGRectZero inView:self.view animated:YES]; 
}

当我运行该应用程序时,该应用程序显示写有“Instagram”图标的按钮,但是当我触摸它时,该按钮消失了,没有任何反应。该应用程序没有崩溃,但什么也没发生。

我在代码中遗漏了什么?

问候布鲁诺

4

1 回答 1

3

我猜问题是你没有保留UIDocumentInteractionController. 在你的课堂上为它制作一个 ivar。

确保documentInteractionController:didEndSendingToApplication:在委托上调用该方法。

另请查看 Instagram 文档:http: //instagram.com/developer/iphone-hooks/

触发后,Instagram 将立即向用户展示我们的过滤屏幕。该图像已为 Instagram 预加载和调整大小。除了使用上述适当的图像格式外,我们唯一的要求是图像至少为 612 像素高和/或宽。为获得最佳效果,Instagram 更喜欢打开 612 像素 x 612 像素正方形的 JPEG。如果图像较大,它将动态调整大小。

要验证是否安装了 Instagram,请检查 URL instagram://app。该 URLinstagram://location?id=LOCATION_ID仅用于位置供稿!

于 2012-08-27T11:42:39.937 回答