如何在Xcode上设置一个文件,只构建在设备上,而不是模拟器上

How to setup a file on Xcode to only build on a device and not the simulator?

本文关键字:构建 模拟器 一个 设置 Xcode 文件      更新时间:2023-10-16

我如何设置一个文件说。h或。m (.cpp确切地说)只在设备上构建,而不是在模拟器上运行时?这是为Xcode 6.4。文件在模拟器上运行时会抛出错误,因为它不支持该架构。

编辑

是否有编译器标志只在ARM(设备)上构建文件而不是i86(模拟器)

你可以用方法来包装这些文件,然后用这样的方式来包装这些方法:

#if TARGET_IPHONE_SIMULATOR
-(void)doSomethingUsingSimulatorOnly {
   //do work
}
#endif
与其他

#if TARGET_IPHONE_SIMULATOR
    // do stuff when running on Simulator
#elif TARGET_OS_IPHONE
    // do stuff when running on actual device
#endif

你也可以这样做:

if (TARGET_IPHONE_SIMULATOR) {
}

下面是另一个可以尝试的包装器:

#if defined(__cplusplus) || defined(c_plusplus)
#endif

#ifdef __OBJC__
#endif

所以,你可以用很多不同的方法来做这件事,最后一种方法最容易使用,但每个人的口味都不一样。

还有,这是苹果在一个最新的Metal例子中使用的一个片段,我想这对你来说是可行的,也许可以把它当作一个例子。这是一个"。用于金属视频处理的mm"文件,其基本格式与上述相同:

#ifdef __cplusplus

#endif // cplusplus