TARGET_IPHONE_SIMULATOR

在项目中需要用到硬件的设备,所以并非整个项目都可以用模拟器来开发调试,仅仅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

时间: 2024-08-08 16:46:13

TARGET_IPHONE_SIMULATOR的相关文章

使用TARGET_IPHONE_SIMULATOR和TARGET_OS_IPHONE宏区分模拟器和设备

#if TARGET_IPHONE_SIMULATOR          NSLog(@"run on simulator");      #else          NSLog(@"run on device");      #endif 注意不要用#ifdef TARGET_IPHONE_SIMULATOR, 因为在device上, TARGET_IPHONE_SIMULATOR被定义为0.. TARGET_OS_IPHONE的用法也一样.

iOS: 环信的推送

原文:http://m.blog.csdn.net/article/details?id=38824551 1.先创建一个apns证书,链接如下 http://developer.easemob.com/docs/emchat/ios/push/certificate.html 创建完证书后,将证书弄成p12文件,然后上传到环信后台 2.再创建真机调试证书,和描述文件,保证能进行真机调试.并且appid要又推送功能 3.绑定环信证书和appkey //注册 APNS文件的名字, 需要与后台上传证

IOS总结(学习过程中整理的笔记)

MVC模式:(model+view+controller):是一种帮你把代码功能和显示划分出来的设计模式: model:较为底层的数据引擎,负责管理实体中所继承的数据: view:和用户交互界面: controller:连接二者的桥梁: cocoa frameworks 有两个框架: foundation foundation  是cocoa中最基本的一些类:再mac应用程序中负责对象管理,内存管理,容器等相关数据: uikit: uikit:为程序提供可视化的底层构架,包括窗口,视图,控件类和

IOS 音频播放

iOS音频播放 (一):概述 Audio Playback in iOS (Part 1) : Introduction 前言 从事音乐相关的app开发也已经有一段时日了,在这过程中app的播放器几经修改我也因此对于iOS下的音频播放实现有了一定的研究.写这个系列的博客目的一方面希望能够抛砖引玉,另一方面也是希望能帮助国内其他的iOS开发者和爱好者少走弯路(我自己就遇到了不少的坑=.=). 本篇为<iOS音频播放>系列的第一篇,主要将对iOS下实现音频播放的方法进行概述. 基础 先来简单了解一

宏定义

1.获取屏幕宽度与高度 #define SCREEN_WIDTH [UIScreen mainScreen].bounds.size.width #define SCREENH_HEIGHT [UIScreen mainScreen].bounds.size.height 根据一个网友脱离语言提醒, 如果支持横屏可以用下面的宏: #if __IPHONE_OS_VERSION_MAX_ALLOWED >= 80000 // 当前Xcode支持iOS8及以上 #define SCREEN_WIDT

ios 宏定义 系统版本 判定

====================================================== 当需要判断iOS系统版本的时候,相信很多人都会这么干: #define SystemVersion [[UIDevice currentDevice] systemVersion].floatValue 现在告诉屌丝们一个更好的办法就是其实系统已经做了类似的宏定义,不需要我们再去定义了 在Simulator-IOS7.0/usr/include/Availability.h中已经定义了很

GPUImage API 文档之GPUImageOutput类

GPUImageOutput类将静态图像纹理上传到OpenGL ES中,然后使用这些纹理去处理进程链中的下一个对象.它的子类可以获得滤镜处理后的图片功能.[本文讲的很少,由于有许多地方不清楚,以后会更新] 方法 - (void)setInputFramebufferForTarget:(id<GPUImageInput>)target atIndex:(NSInteger)inputTextureIndex 说明:用于设置指定纹理的输入帧缓冲区的尺寸 参数:target是具体的对象,它接受了G

(转)iOS 常用宏定义

#ifndef MacroDefinition_h #define MacroDefinition_h //-------------------获取设备大小------------------------- //NavBar高度 #define NavigationBar_HEIGHT 44 //获取屏幕 宽度.高度 #define SCREEN_WIDTH ([UIScreen mainScreen].bounds.size.width) #define SCREEN_HEIGHT ([UI

实时显示iOS编写UI代码效果

编写iOS应用UI的方式大概有两种,一种是Storyboard/Xib,另一种是手写代码.采用Storyboard/Xib方式组织UI,由于提供可视化的特性,只要从UI库中拖动UI控件,便可以显示结果,极大地提高开发速度.但面临一个问题就是多人协作开发,由于所有的UI都放在同一个Storyboard文件中,使用Git/SVN合并代码就会出现冲突.多人协作开发还不是主要问题,有人提出可以创建多个Storyboard来分开UI编写,而Storyboard/Xib最主要问题是代码复用性比较差.所以有些