Frage

Im Grunde frage ich mich, ob es möglich ist, eine Konsole Skript (.sh) von einem iPhone App laufen. Das Skript geschrieben wird, ein Programm aus einem Repository zum Download, die ich einrichten, respring, dann nach einer festgelegten Zeit, um das Programm zu löschen und wieder respring, so braucht es Root-Rechte, und ist interaktiv, dass der Benutzer kann festlegen, wie lange das Programm gehalten werden. Ich habe den Bash-Skript geschrieben, und es funktioniert gut, wenn von mobiler Endgerät genannt, aber gibt es eine Möglichkeit, dies zu tun, aus einem (jailbroken) App (ohne Verwendung von mobiler Endgerät / SSH / BossPrefs)? Oder gibt es einen insgesamt besseren Weg, um dies zu erreichen? Dank

War es hilfreich?

Lösung

Jasarien ist hier ist es ziemlich resticted und wie wir alle wissen, dass alle Anwendungen Sandbox sind. Aber es ist nicht unmöglich, da Objective-C nur auf C bauen ist, können Sie mit

system("ls");

einen Grund ls Befehl auszuführen und es funktioniert, wenn Sie in Ihrem gdb Ausgang suchen. Altho Sie auch die Ströme erhalten können popen bis App mit den Daten zu arbeiten.

Andere Tipps

Da Sie mit einem Jailbroken Telefon arbeiten, sind Sie ziemlich uneingeschränkt. Unabhängig davon, ob es etwas gibt, in dem iPhone-APIs, die für die Skriptausführung ermöglicht wird, obwohl eine andere Sache. Auch alles, was Sie verwenden Sie wird nicht unterstützt, und wird sich wahrscheinlich ändern, aufhören zu arbeiten oder in einem Software-Update entfernt werden.

Auch Sie wahrscheinlich bereits wissen, oder kümmern sich nicht, aber Sie werden über Apples Review-Prozess für den App Store nicht erhalten, wenn Sie BASH-Skripte gestartet werden soll. Interpretierten Code ist verboten.

ich nachschauen würde, wie es auf OSX zu tun, sind die Chancen, dass würde, wie es auf dem iPhone gemacht hat, aber Sie werden wahrscheinlich keine iPhone spezifische Dokumentation darüber finden, weil es nicht auf einem „normalen“ iphone erlaubt ist (eine, die nicht jailbroken)

etwas, das man betrachten kann NSTask verwendet, wenn Sie die Ausgabe und Fehlermeldungen von der Shell erhalten möchten.

Actualy

System ( 'ls /'); gibt ein besseres Ergebnis als System ( 'ls');

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top