我的UIDocumentsInteractionController正在提供一个带有“iBooks”按钮的动作表,但当我点击该按钮时,它只是解散而且它不会带我去iBooks。这是我的代码:
NSString *filenamePath =[NSString stringWithFormat:@"temp.%@", [[file path] pathExtension]];
NSString *docDir = [DataCenter getDocumentsDirectoryPath];
NSString *fullPath = [docDir stringByAppendingPathComponent:filenamePath];
NSURL *url = [NSURL fileURLWithPath:fullPath];
UIDocumentInteractionController *c = [UIDocumentInteractionController interactionControllerWithURL:url];
BOOL success = [c presentOpenInMenuFromBarButtonItem:buttonBack animated:YES];
我做错了什么? 感谢
答案 0 :(得分:18)
对于那些坚持这一点的人:你根本不需要将自己设置为UIDocumentInteractionController的委托。
问题是[UIDocumentInteractionController interactionControllerWithURL:url]
正在自动释放。它认为它会被显示的动作表内部保留,但显然不是。
所以,是的,必须保留它,直到行动表解散。
答案 1 :(得分:0)
尝试检查UIDocumentInteractionControllerDelegate
方法documentInteractionController:willBeginSendingToApplication:
和documentInteractionController:didEndSendingToApplication:
。如果您的视图控制器是文档交互控制器的委托,那么应该可以解决问题所在的位置。
此外,您应该验证您尝试在其他地方使用的文件(我假设的PDF)实际上是您期望的文件。