我如何知道 objective C 代码在 iOS 模拟器中是否为 运行?

How do I know if objective C code is running in iOS simulator?

我试过了

#ifdef TARGET_IPHONE_SIMULATOR
  static BOOL isSimulator = YES;
#endif

但是对于设备和模拟器,isSimulator 变量始终为 1。

我需要一种方法来确定代码 运行 是在 iOS 模拟器上还是在设备上。

您的代码片段仅检查是否定义了 TARGET_IPHONE_SIMULATOR(即使它被定义为 0)

试试这样检查: (#error 只会在 Xcode 中显示为编译错误)

#if TARGET_IPHONE_SIMULATOR
#error Simulator
#else
#error Device
#endif