Si queremos automatizar iOS primero debemos entender las URL schemes y su codificación. Las URL schemes nos permiten hacer múltiples acciones con un solo hipervÃnculo y entre aplicaciones. PodrÃamos considerar que es la cola que une las aplicaciones en iOS.
Al principio de iOS esto era muy sencillo, pero con la cantidad de apps que se aprovechan de ello hoy en dÃa y de la diversidad de acciones que se pueden hacer la codificación de estas acciones puede ser complicado. Por eso vamos a explicar como funciona.
La URL scheme
La URL que va a ejecutar una acción se pude dividir en tres partes: la llamada, el campo, y la consulta. Estos son los elementos que componen una URL ya codificada.
Tomando la misma analogÃa de [Phillip Gruneich](http://philgr.com/blog/understanding-url-encoding “Understanding URL Encoding | Phillip Gruneich”) podrÃamos considerar que la llamada es un número de teléfono. Una aplicación llama a la otra.
Vamos a ejecutar una acción en Drafts, por ello la aplicación de destino necesita tener más información. Vamos a enviar una carta a Drafts con un sobre con el asunto TEXT. Es de suma importancia destacar que para cada parámetro que añadamos necesitaremos un sobre. Cada sobre es un campo.
Finalmente Drafts descuelga el teléfono y recibe la carta. Un especie de fax moderno. Drafts descodifica nuestra carta que contiene nuestra consulta. En este caso como he dicho consiste en crear una nueva nota en Drafts con el texto “Hola Applesencia”.
Como funciona la codificación de una URL
Phillip lo explica con mucha claridad:
La mejor manera de comprender por qué debemos codificar en URL los contenidos es prestar atención a quién lleva la acción en la historia anterior. Tú, la primera aplicación, haces una llamada y envÃas los sobres, pero Drafts, en el otro lado de la lÃnea, es quien abre los sobres y lee la carta. Cuando pones algo en un sobré, es codificando url, sólo para ser descodificado cuando se lee.
¿Pero por qué? Bueno, prueba a enviar una carta sin sobré. ¿Qué pasa si es tu libro manuscrito? Todas esas hojas llegando patas arriba a su destinación. Empaquetamos las cosas porque queremos controlar como llegan a Drafts.
También podemos encadenar más de un campo en una misma URL añadiendo un ampersand (&) que actúa como divisor de los campos. La mayorÃa de aplicaciones codificaran automáticamente el texto mientras lo pongamos dentro de un par de llaves.
Esto es solo el principio. Aplicaciones como Drafts nos pondrá las cosas fáciles ya que incorpora un editor de acciones para según que tareas, pero si dominamos los básicos de las URL schemes vamos a poder controlar y automatizar iOS.