2010-11-18 2 views

ответ

1

Демон обычно определяется как долговременная системная служба, не имеющая взаимодействия с пользователем. Если это то, что вы подразумеваете под демоном, то это неправильный способ решить вашу проблему. Демоны должны запускаться с помощью launchctctl и должны обладать настройками в/Library/LaunchDaemons или ~/Library/LaunchDaemons в зависимости от того, являются ли они общесистемными или пользовательскими. Связь между вашим пользовательским приложением и демоном может быть выполнена любым способом, но я нашел NotificationCenter (CFNotificationCenterRef) полезным для таких вещей.

Однако, если то, что вам действительно нужно, чтобы запустить инструмент для выполнения конкретной задачи, и этот инструмент нуждается в особых привилегиях, а затем проверить образец код здесь: http://developer.apple.com/library/mac/#documentation/Security/Conceptual/authorization_concepts/03authtasks/authtasks.html%23//apple_ref/doc/uid/TP30000995-CH206-TPXREF33