Pregunta

Básicamente me pregunto si es posible ejecutar un script de consola (.sh) desde una aplicación de iPhone. El script está escrito para descargar un programa desde un repositorio que configuré, respring, luego de un tiempo establecido, elimine el programa y respring nuevamente, por lo que necesita privilegios de root, y es interactivo en el sentido de que el usuario puede establecer cuánto tiempo durará el programa mantenerse. Tengo escrito el script bash, y funciona bien cuando se llama desde un terminal móvil, pero ¿hay alguna forma de hacerlo desde una aplicación (con jailbreak) (sin usar terminal móvil / SSH / Bossprefs)? ¿O hay una mejor forma general de lograr esto? Gracias

¿Fue útil?

Solución

Jasarien está aquí, está bastante restringido y, como todos sabemos, todas las aplicaciones están protegidas. Pero no es imposible, ya que Objective-C solo se basa en C, puede usar

system("ls");

para ejecutar un comando básico ls y funciona si observa su salida gdb. Aunque también puede usar popen para que las transmisiones a la aplicación funcionen con los datos.

Otros consejos

Como estás trabajando con un teléfono Jailbreak, no tienes restricciones. Sin embargo, si hay algo en las API de iPhone que permita la ejecución de scripts es otra cuestión. Además, todo lo que use no será compatible y es probable que cambie, deje de funcionar o se elimine en una actualización de software.

Además, probablemente ya lo sepas, o no te importe, pero no pasarás el proceso de revisión de Apple para la App Store si comienzas a ejecutar scripts BASH. El código interpretado está prohibido.

Buscaría cómo hacerlo en OSX, es probable que así sea como se hace en el iPhone, pero probablemente no encontrará ninguna documentación específica del iPhone al respecto porque no está permitido en un " normal " iphone (uno que no esté liberado)

algo que puede considerar es usar NSTask si desea obtener mensajes de salida y error del shell.

Realmente

sistema ('ls /'); da un mejor resultado como sistema ('ls');

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top