Как я могу избежать добавления NSWindowWillEnterFullScreenNotification в версию ОС до 10.7, потому что он доступен только в ОС 10.7 или выше, и я хочу использовать это уведомление в версии выше 10.7, но мое приложение вылетело из строя, если я запустил его в предыдущей версии ОС. Я проверил журнал сбоев, и в нем говорилось, что символ не найден NSWindowWillEnterFullScreenNotification
Прямо сейчас проверяю версию ОС с помощью этого
if (floor(NSAppKitVersionNumber) <= NSAppKitVersionNumber10_5) {
/* On a 10.5.x or earlier system */
}
else if (floor(NSAppKitVersionNumber) <= NSAppKitVersionNumber10_6) {
/* On a 10.6 - 10.6.x system */
} else {
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(willEnterFull:)
name:NSWindowWillEnterFullScreenNotification
object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(didExitFull:)
name:NSWindowDidExitFullScreenNotification
object:nil];
}
Но в предыдущей версии приложение вылетало сразу после запуска.
Вот журнал сбоев, хотя я изменил имя приложения на XYZ в журнале из-за NDA
Process: XYZ [53319]
Path: /Applications/XYZ.app/Contents/MacOS/XYZ
Identifier: com.XYZ.XYZ
Version: 2.0.5 (2.0.5)
Code Type: X86 (Native)
Parent Process: launchd [224]
Date/Time: 2012-10-28 07:44:11.717 -0500
OS Version: Mac OS X 10.6.8 (10K549)
Report Version: 6
Exception Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000002, 0x0000000000000000
Crashed Thread: 0
Dyld Error Message:
Symbol not found: _NSWindowDidExitFullScreenNotification
Referenced from: /Applications/XYZ.app/Contents/MacOS/XYZ
Expected in: /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
in /Applications/XYZ.app/Contents/MacOS/XYZ