Question

En gros, je me demande s’il est possible d’exécuter un script de console (.sh) à partir d’une application iPhone. Le script est écrit pour télécharger un programme à partir d’un référentiel que j’ai configuré, respring, puis après une heure donnée, le supprime et respring à nouveau. Il a donc besoin des privilèges root et est interactif car l’utilisateur peut définir la durée du programme. être gardé. J'ai le script bash écrit, et cela fonctionne bien lorsqu'il est appelé depuis un terminal mobile, mais existe-t-il un moyen de le faire depuis une application (jailbreakée) (sans utiliser de terminal mobile / SSH / Bossprefs)? Ou y a-t-il un meilleur moyen global d'y parvenir? Merci

Était-ce utile?

La solution

Jasarien est juste ici, il est assez discret et, comme nous le savons tous, toutes les applications sont en mode bac à sable. Mais ce n’est pas impossible puisque Objective-C est construit sur C, vous pouvez utiliser

system("ls");

pour exécuter une commande de base ls et cela fonctionne si vous regardez dans votre sortie gdb. Vous pouvez également utiliser popen pour que les flux de l'application fonctionnent avec les données.

Autres conseils

Puisque vous travaillez avec un téléphone jailbreaké, vous n’êtes quasiment pas limité. Que ce soit ou non dans les API de l'iPhone qui permette l'exécution de scripts est un autre problème. De même, tout ce que vous utiliserez ne sera pas pris en charge et risque de changer, de cesser de fonctionner ou d'être supprimé dans une mise à jour logicielle.

En outre, vous le savez probablement déjà, ou vous en foutez, mais vous ne pourrez pas vous échapper du processus de révision d'Apple pour l'App Store si vous commencez à exécuter les scripts BASH. Le code interprété est interdit.

Je chercherais comment le faire sur OSX, il y a de fortes chances que ce soit comme ça sur l'iPhone, mais vous ne trouverez probablement aucune documentation spécifique à l'iPhone à ce sujet car elle n'est pas autorisée sur un appareil "normal". iphone (celui qui n'est pas jailbreaké)

Vous pouvez envisager d'utiliser NSTask si vous souhaitez obtenir les résultats et les messages d'erreur du shell.

Actuellement

system ('ls /'); donne un meilleur résultat en tant que système ('ls');

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top