#if ..... code...#endif
但我现在找不到它……
比方说,例如,如果应用程序在10.8运行,应用程序会执行1项 *** 作,否则应用程序会执行其他 *** 作.
什么代码来检查它是否在10.8上运行?
谢谢.
例如,如果Apple在Mac OS X 10.9中引入了您想要使用的MagicHologram类,则不会检查用户是否正在运行Mac OS X 10.9.而是检查MagicHologram类是否可用.如果是,您可以使用它.如果没有,它就不可用.它甚至不重要.也许他们正在跑10.8.但也许是五年之后,Apple决定完全放弃MagicHologram课程.
(另外,请记住,您需要弱连接到HologramKit,即提供MagicHologram类的库.)
同样,如果他们为Nsstring引入了一个新方法,而不是检查 *** 作系统版本,你将检查Nsstring是否知道新方法.
也就是说,NSApplication.h包含一个名为NSAppKitVersionNumber的外部常量.您可以将此与NSAppKitVersionNumber10_7之类的常量进行比较,其中(应该注意)是1138之类的数字,而不是10.7.这里只有少数几个合适的地方,主要是那些类是私有的和没有文档的,但在记录之前得到了重大改变,并成为SDK公共部分的一部分.此外,如果您想避免自那以后修复的特定错误,可能会有所帮助.
回顾一下:
>检测个别类别和方法,这些类别和方法应涵盖99.44%的案例.
>使用NSAppKitVersionNumber和NSAppKitVersionNumber10_7来涵盖类或方法检测对您而言的情况.
>前两点涵盖所有正常情况.你不应该再进一步了.但是如果你必须有基于人性化版本的行为,请看下面的abarnert答案.这是获得它们的最佳方式.
>不要使用operatingSystemVersionString,它特别列为解析不安全.
参考/更多信息:
> SDK Compatibility Guide“如果您希望应用程序针对特定版本或多个版本的iOS或Mac OS X,请阅读本文档.”
> Using SDK-Based Development描述如何使用弱链接的类,方法和函数来支持在多个版本的 *** 作系统上运行.
总结以上是内存溢出为你收集整理的objective-c – 如何知道应用程序运行的Mac OS?全部内容,希望文章能够帮你解决objective-c – 如何知道应用程序运行的Mac OS?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)