正如问题所述,我主要想知道我的代码是否在模拟器中运行,但也有兴趣了解正在运行或正在模拟的特定iphone版本.
编辑:我在问题名称中添加了"以编程方式"这个词.我的问题是能够动态地包含/排除代码,具体取决于正在运行的版本/模拟器,所以我真的在寻找类似于预处理器指令的东西,它可以为我提供这些信息.
我想知道我的应用程序是否在运行时在设备或模拟器上运行.有没有办法检测到这个?
用模拟器测试蓝牙api的原因:http: //volcore.limbicsoft.com/2009/09/iphone-os-31-gamekit-pt-1-woooohooo.html
我有一些代码我想只在最新的iPhone SDK(3.0)上执行,但我似乎无法找到一种方法来定位3.0并忽略2.2.1等.有一个ifdef语句,但它似乎覆盖了整个iPhone:
#if TARGET_OS_IPHONE
Run Code Online (Sandbox Code Playgroud)
任何帮助表示赞赏.
有没有一个编译器指令,我可以用它来编译一个不同的代码行来定位模拟器而不是我的设备.就像是:
# IF SIMULATOR
[self.imagePicker setSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
# ELSE
[self.imagePicker setSourceType:UIImagePickerControllerSourceTypeCamera];
# END
Run Code Online (Sandbox Code Playgroud)
编辑