Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何从苹果下载';s快速浏览链接计划“;x-apple-ql-magic;?_Ios_Swift_Nsurlsession_Quicklook - Fatal编程技术网

Ios 如何从苹果下载';s快速浏览链接计划“;x-apple-ql-magic;?

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

TL;DR-我想从链接下载.csv和其他文件,并演示UIActivityViewController

我在一个有很多网络视图的应用程序中工作。在其中一个委托方法中,
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。