WebView
работает только в основном цикле и, следовательно, не взаимодействует в этом случае. Одним из решений было бы запустить модальный сеанс самостоятельно и поддерживать основной цикл вручную (аналогично тому, что предлагается здесь ). E.g.:
NSModalSession session = [NSApp beginModalSessionForWindow:yourWindow];
int result = NSRunContinuesResponse;
// Loop until some result other than continues:
while (result == NSRunContinuesResponse)
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
// Run the window modally until there are no events to process:
result = [NSApp runModalSession:session];
// Give the main loop some time:
[[NSRunLoop currentRunLoop] limitDateForMode:NSDefaultRunLoopMode];
// Drain pool to avoid memory getting clogged:
[pool drain];
}
[NSApp endModalSession:session];
Обратите внимание, что вы, вероятно, хотите использовать что-то вроде -runMode:beforeDate:
вместо того, чтобы снизить нагрузку на процессор.