Môžem spustiť spustiteľný súbor zo známeho lokálneho adresára v rámci aplikácie Kakao, a to takto:
// Run the server.
NSTask *task = [[NSTask alloc] init];
NSPipe *pipe = [NSPipe pipe];
NSString* scriptPath = @"/Users/example/Server/runServerExecutable.sh";
[task setLaunchPath: @"/bin/sh"];
[task setArguments: [NSArray arrayWithObjects: scriptPath, nil]];
[task setStandardOutput: pipe];
[task launch];
Mohol by mi niekto pomôcť pri týchto otázkach?
- Kde by som mal obsahovať spustiteľné / skriptové / textové súbory v balíku aplikácií?
- Ako upraviť
scriptPath
skript spustiť programovo?
Mnohokrat dakujem!
odpovede:
0 pre odpoveď č. 1Presuňte skriptu / textové súbory do vášho xcodeprojekt -> projektový navigátor, aby sa k projektu pridal. Vytvorte projekt. Otvorte balík, budete môcť vidieť pridaný súbor v adresári zdrojov.
Nižšie uvedený kód vám pomôže získať súbor zo zdrojov. Napríklad som pridala skript pod názvom "OpenSafari.sh"
NSTask *temp = [[NSTask alloc] init];
[temp setLaunchPath:@"/bin/sh"];
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"OpenSafari" ofType:@"sh"];
NSArray *tempargs = [NSArray arrayWithObjects:filePath,nil];
[temp setArguments:tempargs];
NSPipe *temppipe = [NSPipe pipe];
[temp setStandardOutput:temppipe];
NSPipe *errorPipe = [NSPipe pipe];
[temp setStandardError:errorPipe];
[temp launch];
NSData *data = [[temppipe fileHandleForReading] readDataToEndOfFile];
NSString *result = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSData *dataErr = [[errorPipe fileHandleForReading] readDataToEndOfFile];
NSString *resultErr = [[NSString alloc] initWithData:dataErr encoding:NSUTF8StringEncoding];
Dúfam, že to pomôže!