1

可能重复:
UIDocumentInteractionController 不再适用于 iOS6

我无法从我的应用程序中打开 Instagram。这是我正在使用的代码:

NSString  *imageToUpload = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/mapapic-instagram.igo"];
NSData *imageData = UIImageJPEGRepresentation(image, 0.8);
[imageData writeToFile:imageToUpload atomically:YES];

_documentInteractionController 
    = [UIDocumentInteractionController interactionControllerWithURL:[NSURL fileURLWithPath:imageToUpload]];
_documentInteractionController.delegate = self;
_documentInteractionController.UTI = @"com.instagram.exclusivegram";
NSString *defaultInstagramText = @"Hello";

_documentInteractionController.annotation = @{ @"InstagramCaption" : defaultInstagramText };
BOOL success = [_documentInteractionController presentOpenInMenuFromRect:CGRectZero 
                                                                  inView:self.view.window
                                                                animated:YES];

最后一次调用返回 YES。然而什么也没发生,Instagram 也没有打开。UIDocumentInteractionControllerDelegate方法不被调用。我安装了 Instagram 应用程序。我究竟做错了什么?

4

1 回答 1

1

这是我需要更改以使其工作的内容(在下面的调用中更改self.view.windowself.view)。

BOOL success = [_documentInteractionController presentOpenInMenuFromRect:CGRectZero 
                                                                  inView:self.view.window
                                                                animated:YES];

显然UIDocumentInteractionController presentOpenInMenuFromRect:inView:animated,iOS 6 中的行为发生了变化,这破坏了我以前可以工作的代码。稍后我将在 iOS 5 中测试此更改,看看它是否仍然有效。

于 2013-01-08T03:49:35.540 回答