Ios 如何从苹果下载';s快速浏览链接计划“;x-apple-ql-magic;?
TL;DR-我想从链接下载.csv和其他文件,并演示UIActivityViewController 我在一个有很多网络视图的应用程序中工作。在其中一个委托方法中,Ios 如何从苹果下载';s快速浏览链接计划“;x-apple-ql-magic;?,ios,swift,nsurlsession,quicklook,Ios,Swift,Nsurlsession,Quicklook,TL;DR-我想从链接下载.csv和其他文件,并演示UIActivityViewController 我在一个有很多网络视图的应用程序中工作。在其中一个委托方法中,decidePolicyForNavigationAction:,可用的URL是一个与URL请求兼容的URL,我可以从中很好地下载。(navigationAction.request.url) 在另一个委托方法decidePolicyForNavigationResponse:中,响应的url(navigationResponse.r
decidePolicyForNavigationAction:
,可用的URL是一个与URL请求兼容的URL,我可以从中很好地下载。(navigationAction.request.url
)
在另一个委托方法decidePolicyForNavigationResponse:
中,响应的url(navigationResponse.response.url
)标识为苹果QuickLook框架方案的一部分,并包含以下内容:x-Apple-ql-magic
。我试图使用qlviewcontroller
,但无法使用要下载的远程文件填充数据源
我的目标是:当链接指向可下载文件(如.csv或PDF)时,让用户可以选择通过UIActivityViewController
共享此文件
如何从该方案下载远程文件:
x-apple-ql-magic
?您不能。当WKWebView预览CSV等文件时,它会通过快速查找在内部转换为HTML,并由WebKit呈现。x-apple URL是转换内容的URL。它不应该暴露给你,你应该看到原来的网址,而不是,请提交一个错误
为什么首先要使用响应委托,而不是在点击链接时使用委托?因为x-apple url有一个.csv扩展名,更容易检查,并且有一些QuickLook方法,例如我尝试在
导航响应
委托方法中使用的canPreview
。很好的回答,谢谢!有没有办法知道csv文件的实际MimeType而不是text/html
?我不确定我是否理解这个问题,但无论如何,你不应该依赖这些x-apple URL。这些是实现细节,可以更改。它们不是API。