Я создаю программу, которая запускает другую программу, а затем должна контролировать ее и принимать меры, если она завершается. Когда приложение запущено, я могу получить экземпляр 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");
}
}
но я никогда не вижу, чтобы сработал метод registerValueForKeyPath. Кто-нибудь знает, как сделать эту работу, если это возможно? Я не смог найти какие-либо конкретные примеры в любом месте в Интернете.