/usr/bin/Команды терминала для iPhone

81
4

Есть ли место, где я могу найти каталог всех /usr/bin/ команд? Я знаю, что iPhone технически не поддерживает NSTask, но это для образовательных целей, поэтому я импортировал NSTask.h. Если я запустил /usr/bin/cal тогда он отлично работает, но он не будет работать для /usr/bin/ls и я не могу понять, почему.

* Примечание: Я пробовал /usr/bin/whereis ls но это также дает мне "не удается найти ошибку пути"

Это мой код, который работает:

NSTask *task = [[NSTask alloc] init];
[task setLaunchPath: @"/usr/bin/cal"]; //@"/usr/bin/ls" produces cannot find path error

NSPipe *pipe;
pipe = [NSPipe pipe];
[task setStandardOutput: pipe];

NSFileHandle *file;
file = [pipe fileHandleForReading];

[task launch];

NSData *data;
data = [file readDataToEndOfFile];

NSString *string;
string = [[NSString alloc] initWithData: data encoding: NSUTF8StringEncoding];

label.numberOfLines=0;
label.text = string;

[label sizeToFit];

[string release];
[task release];

спросил(а) 2012-07-27T00:17:00+04:00 8 лет, 3 месяца назад
1
Решение
59

Поскольку iOS - это в основном Mac OS X, который в основном является Darwin, который в основном является Unix, вы должны просто взять пик в своей системе Mac/Darwin/Unix.

В вашем терминале (OSX) вы получаете:

$ which ls
/bin/ls
$

Теперь вы можете запустить эту команду с любым каталогом (которому вы прочитали + выполнить доступ), чтобы получить его содержимое. Вы можете использовать NSTask для этого:

$ /bin/ls /bin
(directory content of /bin)
...
$ /bin/ls /usr/bin
(directory content of /usr/bin)
...

Я понятия не имею, что это даст на не-jailbroken iDevice.

ответил(а) 2012-07-27T00:48:00+04:00 8 лет, 3 месяца назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема