質問

基本的に、iPhoneアプリからコンソールスクリプト(.sh)を実行できるかどうか疑問に思っています。このスクリプトは、設定したリポジトリからプログラムをダウンロードし、再スプリングし、設定時間後にプログラムを削除して再スプリングするように記述されているため、ルート権限が必要であり、ユーザーがプログラムの長さを設定できるという点でインタラクティブです保管されます。私はbashスクリプトを書いており、モバイル端末から呼び出されたときにうまく動作しますが、(モバイル端末/ SSH / Bossprefsを使用せずに)(ジェイルブレイクされた)アプリ内からこれを行う方法はありますか?または、これを達成するための全体的なより良い方法はありますか? ありがとう

役に立ちましたか?

解決

Jasarienはまさにここにあり、かなり制限されており、すべてのアプリがサンドボックス化されていることを知っています。しかし、Objective-Cは使用可能なC上に構築されているため、不可能ではありません

system("ls");

基本的な ls コマンドを実行し、gdbの出力を見ると機能します。また、popenを使用して、データを操作するアプリへのストリームを取得することもできます。

他のヒント

ジェイルブレイクした携帯電話を使用しているので、ほとんど制限はありません。ただし、iPhone APIにスクリプトの実行を許可するものがあるかどうかは別の問題です。また、使用するものはすべてサポートされないため、ソフトウェアの更新で変更、動作停止、削除される可能性があります。

また、おそらくこれをすでに知っているか気にしないかもしれませんが、BASHスクリプトの実行を開始した場合、App Storeに対するAppleのレビュープロセスを通過することはできません。解釈されたコードは禁止されています。

OSXでそれを行う方法を調べますが、それはiPhoneで行われる方法である可能性がありますが、「通常」では許可されていないため、iPhoneに関する特定のドキュメントはおそらく見つかりません。 iphone(ジェイルブレイクされていないもの)

シェルから出力メッセージとエラーメッセージを取得する場合は、NSTaskを使用することを検討してください。

実際

system( 'ls /'); system( 'ls');としてより良い結果が得られます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top