Выключение Mac Objective C - PullRequest
       0

Выключение Mac Objective C

4 голосов
/ 22 декабря 2010

Мне нужно иметь возможность реализовать методы:

  • Shutdown
  • Перезапуск
  • Logoff
  • Sleep

На Mac я использую XCode, но, похоже, не могу понять код для выполнения этих действий.

Может кто-нибудь помочь мне здесь?

Спасибо

1 Ответ

10 голосов
/ 22 декабря 2010

Тривиальный / ленивый способ сделать это с помощью простого встроенного приложения:

NSString *scriptAction = @"restart"; // @"restart"/@"shut down"/@"sleep"/@"log out"
NSString *scriptSource = [NSString stringWithFormat:@"tell application \"Finder\" to %@", scriptAction];
NSAppleScript *appleScript = [[NSAppleScript alloc] initWithSource:scriptSource];
NSDictionary *errDict = nil;
if (![appleScript executeAndReturnError:&errDict]) {
    NSLog(@"%@", errDict); 
}
...