我想知道,当为模拟器构建iPhone应用程序时,是否添加了特殊的DEFINE,允许我有条件地为这种情况编译?
如果没有,我将不得不添加自己的目标,但我宁愿自动检测。
或者,有没有动态的方式来知道我的代码在模拟器上运行,我的意思是记录的东西?我一直在搜索文档一段时间,但没有运气。
解决方法
对于编译时检查,您需要在TargetConditionals.h中定义TARGET_IPHONE_SIMULATOR
#if TARGET_IPHONE_SIMULATOR // Simulator code #endif
对于运行时检查,您可以使用例如UIDevice中的-model方法。对于iPhone模拟器,它返回iPhone Simulator字符串(不确定iPad模拟器)