Como todos sabréis las aplicaciones iPhone viven en su propia parcela y tiene un acceso muy restringido al resto del sistema.
Aún y así Apple nos ofrece un mecanismo para comunicarnos con otros programas. Al decir comunicar, quiero decir que podemos lanzar otras aplicaciones y opcionalmente pasarles parámetros (si lo soportan).
Para conseguirlo se usan URLs especiales. Cada aplicación puede definir su propia URL para que otros le puedan llamar.
Por ejemplo para abrir la aplicación SMS desde nuestro código escribiríamos el siguiente código:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"sms:1111111"]];
Como vemos, estamos llamado al método openURL del objeto UIApplication pasándole una URL.
Y la URL en si indica primero el protocolo (sms) y luego como parámetro un número de teléfono.
Al ejecutar esta línea de código se cerrará nuestra app y se abrirá el SMS y con el campo número automáticamente rellanado con el número que le hemos pasado como parámetro (en este caso 1111111).
Los principales programas de iPhone (mail, sms, youtube, maps, itunes) soportan estos URLs. Pueden consultar el formato de los URLs de todas las apps en este link.
Y no sólo las apps oficial de Apple soportan URLs sino nosotros también podemos crear URLs especiales para nuestras apps pero eso lo explciaremos en otro artículo.
En está wiki podéis encontrar una lista bastante grande de aplicaciones (tanto los de Apple como de terceros) que soportan URLs y podréis ver como usarlos.
Unfortunately, the URL scheme for Zentap is missing from that page :>)
If you have one, I’d love to use it. I am the developer of an email reader called eMailGanizer . I’d love to be able to launch zentap with a url containing the subject and/or recipient and/or body of an email and have zentap allow the user to edit the email content prior to sending..