Я написал программу для выполнения команд в cocoapp, используя скрипт Apple. Есть 2 проблемы, с которыми я сталкиваюсь
1) Яблочный скрипт всегда выходит из каталога projet, а не из корня
2) команда cd работает, но когда я делаю pwd, она показывает предыдущее имя каталога, а не новое.
+(BOOL)callAppleScriptForScriptFile:(NSString *)command{
BOOL isError = YES;
NSAppleEventDescriptor* returnDescriptor = NULL;
NSDictionary* errorDict = nil;
NSString *appleScriptCommand = [NSString stringWithFormat:@"do shell script \" %@ &> /Users/username/Desktop/.output.txt\" user name \"username\" password \"password\" with administrator privileges",command];
//NSLog(@"Script command %@",appleScriptCommand);
NSAppleScript* scriptObject = [[NSAppleScript alloc] initWithSource:appleScriptCommand];
returnDescriptor = [scriptObject executeAndReturnError: &errorDict];
if (errorDict != NULL){
NSLog(@"%@",errorDict);
isError = NO;
}
DescType descriptorType = [returnDescriptor descriptorType];
NSLog(@"descriptorType == %@", NSFileTypeForHFSTypeCode(descriptorType));
NSData *data = [returnDescriptor data];
double currentPosition = 0;
[data getBytes:¤tPosition length:[data length]];
NSLog(@"currentPosition == %f", currentPosition);
[self readFromFileAndSend];
return isError;
}
Ожидается вывод, как это
Рабочий стол CD
o / p: успех (не нужно печатать)
PWD
o / p: Рабочий стол