Hice una pregunta here pero la respuesta me guía para abrir un nuevo tema. En breve, quiero lanzar una aplicación gratuita en Appstore desde mi aplicación, pero la aplicación que deseo iniciar no tiene URL Scheme. Los comentarios sobre mi otra pregunta dicen que usar algunas API especiales como SBSLaunchApplicationWithIdentifier o clases como UIDocumentInteractionController lo hacen posible. ¿Alguien puede ayudarme a cómo iniciar una aplicación desde mi aplicación? Gracias de antemanoAPI especial para iniciar una aplicación desde mi aplicación
Respuesta
Déjame decir primero que este método es jailbreak solamente! Utiliza API privadas que Apple puede dejar de admitir en cualquier momento en una versión futura.
Vamos a llegar a ella, este método utiliza la [UIApplication launchApplicationWithIdentifier:suspended:]
método privado:
[[UIApplication sharedApplication] launchApplicationWithIdentifier:@"com.apple.Preferences" suspended:NO];
Por lo que he probado llamar a este método desde una aplicación no se está ejecutando como root es inútil, al parecer SpringBoard (o LaunchServices) solo permite que las aplicaciones raíz inicien otras aplicaciones utilizando este método.
Por lo tanto, primero necesita hacer un jailbreak en su iPhone, luego necesita que su aplicación se ejecute como root.
para obtener su aplicación funcionando como root necesita para colocarlo en /Applications/YourApp.app en lugar del habitual/usuario/Aplicaciones/UUID /YourApp.app.
Puede instalar OpenSSH usando Cydia y usar SSH para acceder al caparazón de su teléfono.
Entonces, después de tener su aplicación en el lugar correcto debe configurar los permisos, por ejemplo:
me gustaría utilizar los mismos que Cydia:
chown -R root:wheel /Applications/YourApp.app
A continuación, un pequeño truco El binario necesitará la setuid bit:
chmod 4755 /Applications/YourApp.app/YourApp
Y para el último paso, no lo hace trampolín aplicaciones abiertas con el bit setuid, pero se abre un script (que puede abrir otra aplicación)! Sólo cambia el nombre del binario a algo así como YourApp_:
mv /Applications/YourApp.app/YourApp /Applications/YourApp.app/YourApp_
y crear un nuevo archivo con el nombre YourApp en la carpeta de aplicación con el siguiente script:
#!/bin/bash
CrrDir=$(dirname "$0")
exec "${CrrDir}"/YourApp_
Ahora, sólo respring (hay una aplicación para eso en Cydia) y estás listo para ir.
Lo siento si esto parece difícil, no lo es, no recuerdo dónde lo aprendí, pero fue hace mucho tiempo. Este método funciona bien en todas las versiones de iOS y acabo de probarlo con iOS 5.1.
Nuevamente, SU APLICACIÓN NO SERÁ APROBADA POR APPLE SI HACE ESTO.
- 1. Iniciar aplicación desde el paquete de aplicación
- 2. Iniciar safari desde una aplicación Mac
- 3. ¿Puedo iniciar una aplicación desde otra aplicación en el iPhone
- 4. ¿Cómo iniciar una aplicación desde un navegador?
- 5. Iniciar una aplicación desde un enlace en un SMS
- 6. ¿Abrir la aplicación iPod desde mi aplicación?
- 7. ¿Iniciar una aplicación/intención de Android desde una etiqueta NFC?
- 8. Bloquear/desbloquear una aplicación desde mi aplicación: Android
- 9. ¿Utiliza Googlemap desde mi aplicación Delphi?
- 10. Lanzamiento de la aplicación externa desde mi aplicación
- 11. ¿Iniciar una aplicación externa desde una extensión de Google Chrome?
- 12. Iniciar una aplicación de escritorio con una aplicación estilo Metro
- 13. ¿Cómo abro la aplicación de configuración desde mi aplicación?
- 14. Android: URL especial para abrir Marketplace en una aplicación específica.
- 15. iniciar una aplicación desde la barra de notificaciones en android
- 16. Acerca de iniciar la aplicación Android desde una URL
- 17. Consumir API REST desde la aplicación Rails
- 18. ¿Iniciar la aplicación para Android desde el mensaje SMS/MMS?
- 19. ¿Cómo abro mi paquete de configuraciones desde mi aplicación?
- 20. Android para iniciar la aplicación
- 21. contestar la llamada entrante desde mi aplicación
- 22. Iniciar una aplicación de escritorio desde un sitio web
- 23. ¿Cómo iniciar IE7 desde una aplicación de Windows Phone?
- 24. ¿Cómo puedo iniciar Safari desde una aplicación de iPhone?
- 25. ¿Iniciar/detener una aplicación web desde sí mismo?
- 26. Código para iniciar la aplicación externa explícitamente
- 27. Cómo iniciar y finalizar una aplicación desde dentro de una aplicación de cacao en Mac
- 28. ¿Cómo puedo iniciar una URL en el navegador predeterminado de los usuarios desde mi aplicación?
- 29. Quiero utilizar Google Map API para mi aplicación de escritorio
- 30. Aplicación spotify de apertura desde mi aplicación iphone
Gracias de antemano. Lo leí y lo estudiaré ahora.No importa si es difícil :) – ilhnctn
Np, espero que esta respuesta ayude a más personas, he visto esta pregunta varias veces en SO. – fbernardo
Una segunda pregunta, ¿tengo que hacer jailbreak a mi dispositivo para hacer éstos (like..install OpenSSH usando Cydia y utilizar SSH para acceder a la concha de su teléfono) – ilhnctn