如果我分发一个detects a simulator at compile-time的iOS框架库,那么为模拟器编译的胖二进制文件的部分将始终在模拟器中工作,而#if TARGET_IPHONE_SIMULATOR
宏之外的代码将始终在一个装置。那么detect a simulator at run-time真的有必要吗?
换句话说,胖设备的ARM设备部分是否都能在模拟器上运行?
答案 0 :(得分:5)
不,ARM代码永远不能在模拟器中运行。根据定义,模拟器只能执行本机 - 即英特尔 - 代码。否则,它将被称为模拟器。
(Android有一个设备模拟器,而不是iOS'模拟器。)