自定义URLscheme的最大URL长度

根据标题,在应用中使用自定义URLscheme时,URL的最大长度是多less?

例如,如果我通过URL启动另一个应用程序,并使用类似的东西传递一个数据blob

myappscheme://一些/path数据= 0123456789ABCDEF

在URL被切断之前(或系统拒绝启动其他应用程序),该string可以获得多长时间?

不幸的是,答案似乎不可用。 最大的len没有专门在我能find的任何iOS文档中定义。

如上面MSK的链接所述,对于URL基础URL长度是有限制的,而不是url的绝对string长度。 所以这可能是一个安全的赌注,大约2000个字符。

但是在testing中似乎没有上限。 我可以在iOS上使用365,535个字符的URL,没有任何问题。 但是苹果没有要求继续支持它,所以这是一个“自用的风险”。 然而,我认为,基于许多应用程序正在使用这个来传输信息(包括应用程序之间的大量数据)的事实,苹果可能会继续支持它,因为似乎没有理由减less长度。

上面的答案是误导性的。 文档没有真正提到它,但是path和文件名具有长度限制。

你可以看到在这里有一个文件path或名称可以占用的长度的限制。 你可以在syslimits.h检查这些。

 #define NAME_MAX 255 /* max bytes in a file name */ #define PATH_MAX 1024 /* max bytes in pathname */ 

你可以login他们,看看自己是这样的:

 NSLog(@"PATH MAX VALUE: %i", PATH_MAX) 

UTF-8path限制为1024字节或1024个字符。 path中的文件名限制为UTF-8中的255个字节或255个字符。

我遇到了这个问题,试图处理已编码日文字符的文件(这会显着延长URL /名称)。 我唯一的解决办法就是现在就把这个名字剪掉。

你可以在这个苹果支持页面上看到,他们谈论的是一些语言(比如韩文或者日文)如何具有占用更多字节并导致问题的字符(它们并不能真正提供处理问题的好方法):

https://support.apple.com/en-is/HT202808

参考http://en.wikipedia.org/wiki/URI_scheme

scheme名称由一个以字母开头的字符序列组成,后跟字母,数字,加(“+”),句号(“。”)或连字符(“ – ”)的任意组合。 虽然scheme是不区分大小写的,但规范forms是小写的,指定scheme的文档必须用小写字母来完成。 后面跟着一个冒号(“:”)。

没有什么关于长度。

我已经创build了一个简单的项目来衡量极限 ,目前看来,即使是高达兆字节也没问题。 很明显,依靠这个数字为未来是不明智的。