Я создаю программу, которая запускает другую программу, а затем должна отслеживать ее и принимать меры в случае ее завершения. Когда приложение запущено, я могу получить экземпляр NSRunningApplication из NSWorkspace .
Теперь в документации указано, что NSRunningApplication имеет свойство «завершено» то есть наблюдаемые пары "ключ-значение". Я пробовал реализовать:
[browserInstance addObserver:self
forKeyPath:@"terminated"
options:NSKeyValueObservingOptionNew
context:NULL];
И:
- (void)observeValueForKeyPath:(NSString *)keyPath
ofObject:(id)object
change:(NSDictionary *)change
context:(void *)context
{
NSLog(@"observeValueForKeyPath");
if ([keyPath isEqual:@"terminated"])
{
NSLog(@"terminated");
}
}
, но я никогда не видел, чтобы сработал метод monitoringValueForKeyPath . Кто-нибудь знает, как это сделать, если можно? Мне не удалось найти никаких конкретных примеров в Интернете.