如何避免在 10.7 之前的操作系统版本中添加 NSWindowWillEnterFullScreenNotification 因为它仅在操作系统 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];
}
但是应用程序一启动就在以前的版本中崩溃了。
这是崩溃日志,尽管由于 NDA 我在日志中将应用程序名称更改为 XYZ
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