К сожалению, Apple не предоставляет никаких методов для получения такого рода информации.
Однако есть несколько «грязных» способов, которые могут работать, например, с помощью AppleScript.
Следующий скрипт обнаруживает, активен ли «окно копирования» в Finder:
(Быстро написано и не полностью проверено, но, кажется, работает отлично.)
set thestatus to "not copying"
tell application "System Events"
set theList to get the title of every window of process "Finder"
repeat with theItem in theList
if theItem contains "Copy" then
set thestatus to "copying"
end if
end repeat
end tell
thestatus
Наконец, используйте NSAppleScript
для запуска AppleScript из Objective-C
NSString *theScript = @"set theStatus to \"not copying\"\n"
"tell application \"System Events\"\n"
"set theList to get the title of every window of process \"Finder\"\n"
"repeat with theItem in theList\n"
"if theItem contains \"Copy\" then\n"
"set theStatus to \"copying\"\n"
"end if\n"
"end repeat\n"
"end tell\n"
"theStatus";
NSDictionary *errorInfo = nil;
NSAppleScript *run = [[NSAppleScript alloc] initWithSource:theScript];
NSAppleEventDescriptor *theDescriptor = [run executeAndReturnError:&errorInfo];
if ([[theDescriptor stringValue] isEqualTo:@"copying"]) {
NSLog(@"Finder is copying");
} else {
NSLog(@"Finder is not copying");
}