schemes open lsapplicationqueriesschemes app ios custom-url

ios - open - url schemes



Longitud máxima de URL del esquema de URL personalizado (4)

Desafortunadamente, la respuesta no parece estar disponible. Max len no está definido específicamente en ninguna documentación de iOS que pueda encontrar.

Hay límites, como se señaló anteriormente en el enlace de MSK, para la longitud de la URL de base de la URL, no la longitud de la cadena absoluta de la URL. Así que esa es probablemente una apuesta segura para un máximo, alrededor de 2000 caracteres.

Sin embargo, en las pruebas no parecía haber un límite superior. Pude usar 365.535 URL de caracteres en iOS sin problemas. Pero no hay ningún requisito para que Apple continúe apoyándolo, por lo que es un "uso bajo su propio riesgo". Sin embargo, diría que, debido al hecho de que muchas, muchas aplicaciones lo utilizan para transferir información, incluidas grandes cantidades de datos entre aplicaciones, Apple probablemente continuará admitiéndola, ya que no parece haber ninguna razón para reducir la longitud. .

Según el título, ¿cuál es la longitud máxima que puede tener una URL cuando se utiliza un esquema de URL personalizado con una aplicación?

por ejemplo, si estoy lanzando otra aplicación a través de una URL y pasando un blob de datos usando algo como

myappscheme: // some / path? data = 0123456789ABCDEF

¿Cuánto tiempo puede durar esa cadena antes de que la URL se corte (o el sistema se niegue a iniciar la otra aplicación)?



Las respuestas anteriores son engañosas. Los documentos realmente no lo mencionan, pero las rutas y los nombres de los archivos tienen límites de longitud.

Aquí puede ver que hay un límite en la longitud que puede tomar una ruta o nombre de archivo. Puede comprobar estos en syslimits.h .

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

Puedes registrarlos y ver por ti mismo como tal:

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

Las rutas están limitadas a 1024 bytes o 1024 caracteres en UTF-8. Los nombres de archivo en las rutas están limitados a 255 bytes o 255 caracteres en UTF-8.

Me encontré con este problema tratando de tratar con archivos que tienen caracteres japoneses codificados (que alargan significativamente la URL / nombres). Mi única solución es recortar el nombre a partir de ahora.

Puede ver aquí en esta página de soporte de Apple que hablan sobre cómo algunos idiomas (como el coreano o el japonés) tienen caracteres que ocupan más bytes y causan problemas (aunque no son una buena manera de resolver el problema):

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


Referencia http://en.wikipedia.org/wiki/URI_scheme :

El nombre del esquema consiste en una secuencia de caracteres que comienzan con una letra y van seguidos de cualquier combinación de letras, dígitos, más ("+"), punto (".") O guión ("-"). Aunque los esquemas no distinguen entre mayúsculas y minúsculas, la forma canónica es minúscula y los documentos que especifican esquemas deben hacerlo con letras minúsculas. Es seguido por dos puntos (":").

No hay nada acerca de la longitud.