2012-07-26 5 views
0

모든 /usr/bin/ 명령의 디렉토리를 찾을 수있는 곳이 있습니까? 아이폰은 기술적으로 NSTask를 지원하지 않는다는 것을 압니다.하지만 이것은 교육적인 목적을위한 것이므로 NSTask.h를 가져 왔습니다. /usr/bin/cal을 실행하면 정상적으로 작동하지만 /usr/bin/ls에는 작동하지 않으며 그 이유는 알 수 없습니다./usr/bin/iPhone 용 터미널 명령

* 참고 :

는 아이폰 OS 이후
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]; 

답변

1

는 기본적으로 맥 OS X,이다 : 나는 /usr/bin/whereis ls을 시도했지만 그 또한 "경로 오류를 찾을 수 없습니다"저를 제공

이 작품 내 코드입니다 기본적으로 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) 
... 

나는이 아닌 탈옥의 iDevice에 줄 것이다 무엇인지 전혀 모른다.

+0

내 장치가 jailbroken입니다. 나는 그것을 언급하는 것을 잊었다. 고마워! – MrHappyAsthma

관련 문제