Pergunta

Basicamente, eu estou querendo saber se é possível executar um script console (.sh) a partir de um iPhone App. O roteiro é escrito para baixar um programa a partir de um repositório que eu configurar, respring, em seguida, após um tempo definido apagar o programa e respring novamente, por isso precisa de privilégios de root, e é interativo em que o usuário pode definir quanto tempo o programa irá ser mantido. Eu tenho o script bash escrito, e ele funciona muito bem quando chamado de terminal móvel, mas existe alguma maneira de fazer isso de dentro de um (jailbroken) aplicativo (sem o uso de terminais móveis / SSH / BossPrefs)? Ou há uma maneira melhor global para conseguir isso? Graças

Foi útil?

Solução

Jasarien é aqui é bastante resticted e como todos sabemos que todos os aplicativos estão em modo seguro. Mas não é impossível, já que Objective-C é apenas construir em C você pode usar

system("ls");

para executar um comando básico ls e ele funciona se você olhar na sua saída gdb. Altho Você também pode usar popen para obter os córregos em aplicativo para trabalhar com os dados.

Outras dicas

Uma vez que você está trabalhando com um telefone Jailbroken, você está praticamente irrestrita. Seja ou não há nada nas APIs do iPhone que permite a execução do script é outra questão embora. Também qualquer coisa que você faça uso será não suportado, e é provável que a mudança, parar de trabalhar ou ser removido em uma atualização de software.

Além disso, você provavelmente já sabe disso, ou não se importam, mas você não vai passar por processo de revisão da Apple para a App Store se você começar a correr scripts bash. É proibido código interpretado.

Gostaria de olhar-se como fazê-lo no OSX, as chances são de que vai ser como é feito no iPhone, mas você provavelmente não vai encontrar nenhuma documentação específica iPhone sobre isso, porque não é permitido em um iphone "normal" (aquele que não está jailbroken)

algo que você pode considerar é usar NSTask se você deseja obter mensagens de saída e de erro do shell.

Actualy

sistema ( 'ls /'); dá um resultado melhor como sistema ( 'ls');

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top