我有一个UIDocumentInteractionController
实例(在我的课堂上确实有很强的参考,我知道关于它的内存问题),我想将照片文件发送到 Instagram。
我使用扩展名保存了文件ig
(也尝试igo
过),我正在展示控制器。Instagram 显示在列表中。我点击 Instagram,什么也没有发生。
NSURL *imageFile = [NSURL fileURLWithPath:path];
interactionController = [UIDocumentInteractionController interactionControllerWithURL:imageFile];
interactionController.UTI = @"com.instagram.photo";
interactionController.annotation = [NSDictionary dictionaryWithObject:@"my caption" forKey:@"InstagramCaption"];
interactionController.delegate = self;
[interactionController presentOpenInMenuFromRect:self.view.frame inView:self.view animated:YES];
为了进一步调查,我将调用类设置为委托并实现了willBeginSendingToApplication:
anddidEndSendingToApplication:
方法。有趣的是,我意识到willBeginSendingToApplication:
确实会被调用,但didEndSendingToApplication:
不会。我尝试更改文件扩展名,将 UTI 更改为com.instagram.exclusivegram
,检查文件 URL 是否正确等,但它们似乎都不起作用。没有错误,控制台中没有任何内容。交互控制器关闭,我的应用程序继续像以前一样工作,但什么也没发生。我读过 iOS 6 上可能存在一些问题,但我的应用程序是 iOS 6 应用程序,所以我无法在 iOS < 6 上对其进行测试。我发现的唯一与我的问题接近的是UIDocumentInteractionController,没有文件扩展名,但 UTI,但它过多地潜入低级位,我也没有非 ARC 代码。
问题的原因可能是什么?