无法显示文档交互控制器

时间:2015-11-13 15:03:41

标签: ios objective-c uidocumentinteraction

我最近提交了一个应用程序,但由于这个问题而被拒绝了:

  

分享按钮不起作用,当用户按下它时没有动作   发生

在我将它提交到appstore之前它正在工作。但现在不是。

我无法展示文档交互控制器。

以前我的工作是:

 UIAlertAction* share = [UIAlertAction
                             actionWithTitle:@"Share"
                             style:UIAlertActionStyleDefault
                             handler:^(UIAlertAction * action)
                             {
                                 [self shareImage];
                                 [alert dismissViewControllerAnimated:YES completion:nil];

                             }];

执行此操作后,我收到了警告:

_bsmacherror (os/kern) invalid capability (20)
_bsmacherror (os/kern) invalid name (15)

然后我将shareImage代码放在主线程上:

     dispatch_async(dispatch_get_main_queue(), ^{
                  [self shareImage];
     });

警告消失了......但它仍然没有打开文档交互控制器

打开doc interacator的代码是:

-(void)shareImage{

    UIButton *button = (UIButton *)nil;
    NSURL *URL = [NSURL fileURLWithPath:_savedImagePath];

    if (URL) {
        // Initialize Document Interaction Controller
        self.documentInteractionController = [UIDocumentInteractionController interactionControllerWithURL:URL];

        // Configure Document Interaction Controller
        [self.documentInteractionController setDelegate:self];

        // Present Open In Menu
        [self.documentInteractionController presentOpenInMenuFromRect:[button frame] inView:self.view animated:YES];
    }

}

我设置了UIDocumentInteractionControllerDelegate,我检查了_savedImagePath处的图片。

是否有任何文档交互控制器的错误处理方法?

如何解决问题?

1 个答案:

答案 0 :(得分:2)

您的问题似乎是由于buttonnil并试图从nil按钮的框架中显示控制器。这会给你一个CGRectZero的框架。你为什么这样做?

从有效框架或UIBarButtonItem显示控制器。