仅在 UIDocumentInteractionController 中打开 Instagram

Open Instagram only in UIDocumentInteractionController

我的应用程序需要 post 一张图片到 Instagram,我使用 UIDocumentInteractionController 打开保存在 Documents directory 中的扩展名为 .igo 的图片文件。将 com.instagram.exclusivegram 设置为 UIDocumentInteractionController's UTI 属性。一切正常,我的问题是当我使用

[dic presentOpenInMenuFromRect:CGRectZero inView:self.view animated:YES];

打开 UIDocumentInteractionController,它显示 PDF readerDropBox 等。除了 Instagram 或仅显示 Instagram,我必须隐藏其他选项.以及如何在显示的菜单中识别 Cancel button 按键。

  1. 为什么我的 UIDocumentInteractionController 显示其他选项?

    如果您使用的是来自 Internet 的一些代码片段,请确保您正确实施了委托方法。

    -(UIDocumentInteractionController *)setupControllerWithURL:(NSURL *)fileURL 
                                                 usingDelegate:(id<UIDocumentInteractionControllerDelegate>) interactionDelegate 
    {
        // if you're creating a new instance here,
        // make sure you set the properties correctly
        UIDocumentInteractionController *interactionController = [UIDocumentInteractionController interactionControllerWithURL:fileURL];
        // remember to set it again here
        interactionController.UTI = @"com.instagram.exclusivegram";
        interactionController.delegate = interactionDelegate;    
        return interactionController;
    } 
    
  2. 我如何知道用户是取消操作还是继续访问 Instagram?

    请参考本帖的回答:UIDocumentInteractionController Open Menu Cancelled Callback.