__OSX_AVAILABLE_STARTING

有时候我们会看到这样的东西

CA_EXTERN NSString * const kCATransitionFromRight
    __OSX_AVAILABLE_STARTING (__MAC_10_5, __IPHONE_2_0);

__OSX_AVAILABLE_STARTING 是什么意思呢?

我们知道 Mac OS X and iOS有不同的版本号,__OSX_AVAILABLE_STARTING 宏允许你同时指定Mac OS X and iOS的版本号。

__OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_2_0)它表示从 mac os x10.5 和ios 2.0 才开始使用的,两种平台都支持。

有时候我们只想支持一种平台,怎么办呢?

__OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA)

它表示 只支持mac os x  不支持ios平台,最后的NA 表示not  applicable ,是这两个单词的缩写

时间: 2024-11-09 12:36:22

__OSX_AVAILABLE_STARTING的相关文章

GCD

Grand Central Dispatch (GCD)是Apple开发的一个多核编程的解决方法. dispatch queue分成以下三种: 1)运行在主线程的Main queue,通过dispatch_get_main_queue获取. /*! * @function dispatch_get_main_queue * * @abstract * Returns the default queue that is bound to the main thread. * * @discussi

为什么OC语言很难

作为一个Objective-C的coder,我总能听到一部分人在这门语言上抱怨有很多问题.他们总在想快速学习这门语言来写一个App出来,但他们也总是联想到Objective-C看上去实在太难了或者在想这些语法符号都是神马玩意?不错,他们问得非常好,所以本人也解释一下为什么很多程序员相比较学习Ruby或者Java很容易,但在决定开发iOS或者OS X应用时会那么犹豫. 语法: 首先我们谈谈神马叫做编程语言,编程语言是一种让人们能读懂并且能够展现程序的执行行为的语言,包括语法(正确的表达式以及状态机

使用iOS自带AAC编码器

AAC(Advanced Audio Coding),中文名:高级音频编码,出现于1997年,基于MPEG-2的音频编码技术.由Fraunhofer IIS.杜比实验室.AT&T.Sony等公司共同开发,目的是取代MP3格式.2000年,MPEG-4标准出现后,AAC重新集成了其特性,加入了SBR技术和PS技术,为了区别于传统的MPEG-2 AAC又称为MPEG-4 AAC. iOS平台支持AAC编码器,主要使用AudioToolbox中的AudioConverter API.之所以做AAC编码

iOS多线程 GCD

iOS多线程 GCD Grand Central Dispatch (GCD)是Apple开发的一个多核编程的解决方法. dispatch queue分成以下三种: 1)运行在主线程的Main queue,通过dispatch_get_main_queue获取. /*! * @function dispatch_get_main_queue * * @abstract * Returns the default queue that is bound to the main thread. *

简易的IOS位置定位服务

有时一些小的需求.事实上仅仅是须要得知当前IOS APP使用的地点.有些仅仅是想精确到城市级别,并不须要不论什么地图. 有了下面的简易实现: @interface MainViewController ()<CLLocationManagerDelegate> .... @end @implementation MainViewController - (void)InitLocation { //初始化定位服务管理对象 self.locationManager = [[CLLocationM

iOS开发--系统通讯录的访问与添加联系人

公司项目有访问通讯录的需求,所以开始了探索之路.从开始的一无所知,到知识的渐渐清晰.这一切要感谢广大无私分享的 “coder”,注:我是尊称的语气! 苹果提供了访问系统通讯录的框架,以便开发者对系统通讯录进行操作.(此demo为纯代码),想要访问通讯录,需要添加AddressBookUI.framework和AddressBook.framework两个框架,添加的地点这里就不在赘述了.在控制器内部首先import两个头文件,<AddressBook/AddressBook.h> 和 <

iOS开发-消息转发

消息转发是OC运行时比较重要的特性,Objective-C运行时的主要的任务是负责消息分发,我们在开发中"unrecognized selector sent to instance xx",实例对象没有实现对应的消息,通常我们只需要实现未实现的方法即可.一般情况我们处理一个方法,运行时寻找匹配的selector然后执行,但是有时候只想在运行时才创建某个方法,消息确没有具体的实现,这个时候就会出出现运行时错误,按照消息转发的顺序我们有三种解决办法. 动态方法处理 首先我们来看一个简单的

Objective-C Runtime 运行时之六:拾遗

super 在Objective-C中,如果我们需要在类的方法中调用父类的方法时,通常都会用到super,如下所示: @interface MyViewController: UIViewController @end @implementation MyViewController - (void)viewDidLoad { [super viewDidLoad]; // do something ... } @end 如何使用super我们都知道.现在的问题是,它是如何工作的呢? 首先我们需

UINavigationController使用详解

有一阵子没有写随笔,感觉有点儿手生.一个多月以后终于又一次坐下来静下心写随笔,记录自己的学习笔记,也希望能够帮到大家. 废话少说回到正题,UINavigationController是IOS编程中比较常用的一种容器view controller,很多系统的控件(如UIImagePickerViewController)以及很多有名的APP中(如qq,系统相册等)都有 用到.说是使用详解,其实我只会介绍几个自认为比较重要或者容易放错的地方进行讲解,下面让我们挨个探探究竟: 首先上一张图(来自苹果官