ios – openURL在Share扩展中不起作用

前端之家收集整理的这篇文章主要介绍了ios – openURL在Share扩展中不起作用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
试图使用[self.extensionContext openURL:… completionHandler:…];在iOS 8共享扩展中打开包含应用程序永远不会打开应用程序,并始终调用成功处理程序成功=否.

Here与Action扩展相同,但我认为Share扩展能够打开包含应用程序而不是Action扩展更合理.共享扩展的要点是上传一个可能很大的数据,并且不打开应用程序的唯一方法是通过NSURLSession,它只能执行HTTP(S)上传.但是应用程序可能希望通过与HTTP(S)上载不同的机制来共享内容.

Apple文档未声明openURL …不能用于任何特定类型的扩展.很难知道这是一个错误还是预期的行为.没有关于此的官方信息.

解决方法

以下是一些可能的解决方法…… Communicating with/opening Containing app from Share extension

实际工作的可以总结为:

>使用UIDocumentInteractionController并使用特殊扩展类型注册容器应用程序,以从您的扩展程序打开容器应用程序
>使用虚拟NSURLSessionTask获取应用程序:handleEventsForBackgroundURLSession:completionHandler:要调用的容器应用程序的UIApplicationDelegate类的方法.然后,在该方法中,您可以调用[[UIApplication sharedApplication] openURL:url]打开您想要的任何内容.

这些方法都不是完美的,但它们确实有效(不确定Apple是否会喜欢它们).有关详细信息,请查看链接.希望这可以帮助 :)

编辑:您还可以使用描述https://stackoverflow.com/a/24614589/3923882的UIWebView

原文链接:/iOS/327819.html

猜你在找的iOS相关文章