在MAC中开发应用程序时。其中我显示太多弹出窗口通知系统内部信息,如CPU使用率,系统设置。我正在使用NSalert显示弹出窗口并从后台线程获取显示信息。我的应用程序在10.8.X版本中正常运行。但是当涉及到yesomite时,它会被一个空的弹出窗口崩溃,然后应用程序挂起。当我在控制台深入挖掘时,我发现了这个日志。这是否相关,如果是这样,请有人回答我,让选择器返回正确的版本
答案 0 :(得分:2)
尚不清楚什么系统和&您正在使用的编译器,或者您找到的日志。
Gestalt
的文档指出次要版本号码为9 - 它毕竟是一个BCD数字。
编译:
SInt32 number;
if (Gestalt(gestaltSystemVersion, &number) != noErr)
number = 0;
NSLog(@"version = %8x", number);
使用Xcode 6.1的Yosemite上的产生警告:
gestaltSystemVersion'不推荐使用:首先在OS X 10.8中弃用 - 改为使用NSProcessInfo的operatingSystemVersion属性。
您可以使用operatingSystemVersion
对respondsToSelector:
进行测试,并在Gestalt
可用时优先使用{{1}}。
HTH
答案 1 :(得分:1)
CRD的答案没有任何问题,但为了完整起见,另一种方法是使用Gestalt
分别使用gestaltSystemVersionMajor
,gestaltSystemVersionMinor
获取版本的3个部分}和gestaltSystemVersionBugFix
。