我最近提交了一个应用程序,但由于这个问题而被拒绝了:
分享按钮不起作用,当用户按下它时没有动作 发生
在我将它提交到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
处的图片。
是否有任何文档交互控制器的错误处理方法?
如何解决问题?
答案 0 :(得分:2)
您的问题似乎是由于button
为nil
并试图从nil
按钮的框架中显示控制器。这会给你一个CGRectZero
的框架。你为什么这样做?
从有效框架或UIBarButtonItem
显示控制器。