美文网首页ios专题iOS学习开发
TARGET_IPHONE_SIMULATOR宏的使用

TARGET_IPHONE_SIMULATOR宏的使用

作者: Louis_hey | 来源:发表于2016-04-16 23:47 被阅读1737次

在项目中需要用到硬件的设备,所以并非整个项目都可以用模拟器来开发调试,仅仅UI部分可以这么做。因为项目不大,所以一直没有运行过模拟器,不过要调试一个iPhone5屏幕上的UI细节,所以需要编译出模拟器来。

为了区分模拟器和实际运行的场景,选择了TARGET_IPHONE_SIMULATOR这个宏来区分,一开始的用法是:

#ifdef TARGET_IPHONE_SIMULATOR

XXXXX  模拟器时会编译的代码

#else

XXXXX  不是模拟器才会编译的代码

#endif

运行起来发现实际手机上居然也在跑模拟器段的代码,实际查看了一下TARGET_IPHONE_SIMULATOR这个宏的定义才发现,这个宏是一直存在的,只是在模拟器上值为1,实际设备上值为0(这个宏位于TargetConditionals.h头文件里面)。

如果要在真机调试时编译代码,所以正确的用法应该是:

#if  !TARGET_IPHONE_SIMULATOR

XXXXX//真机时会编译的代码

#else  

XXXXX  //不是真机才会编译的代码

#endif

相关文章

网友评论

本文标题:TARGET_IPHONE_SIMULATOR宏的使用

本文链接:https://www.haomeiwen.com/subject/rrdolttx.html