2016-01-11 200 views
1

我需要从一个iOS应用程序传递高达20Kb(一个NSURLQueryItem值)的文本字符串到另一个使用方案。我能够在应用程序之间传递这么长的URL。NSURL最大长度?

什么是最大NSURL长度支持?它取决于iOS版本吗?有没有更好的方法发送文本长串?

+1

我建议使用'UIPasteBoard'或其他方法将文件传递给另一个应用程序。在URL上传递大文件数据不是一个好主意。 – rmaddy

+1

如果你控制两个应用程序,你可以让它们成为同一个应用程序组的一部分,并存储他们可以访问它的文件 – dan

+0

这两个评论都可以被接受为答案。谢谢你们 – 4ntoine

回答

0

您是否收到414(请求太长)的请求?没有正式的限制,但系统有特别的限制,可能低至8k。

您应该使用POST而不是将所有数据放入URL中。

+0

这个问题是关于iOS应用程序之间的交互(不知道你是否正确理解了这个问题) – 4ntoine

+0

我很抱歉。我查看了URL Schemes的文档,并没有提到任何地方的长度限制。我也读雷文德里希的教程,他也没有提到任何限制。我确实发现每个设备有50个计划的限制,但似乎没有记录。 –

+0

没有问题,无论如何 – 4ntoine

1

NSURL可以轻松处理20Kb。

对于URL字符串,实现限制约为2Gb(INT_MAX)。首先使用大型网址的限制是内存和时间。在某些情况下,分配的内存不足(对于32位可执行文件,当进程耗尽地址空间时,限制略多于1.1GB;对于64位可执行文件,限制取决于系统的可用空间VM交换空间)。创建非常大的URL将需要lot的时间来创建和解析。