如何设置文件说.h或.m(确切地说是.cpp)只能在设备上构建,而不是在模拟器上运行时?这适用于Xcode 6.4。这些文件在模拟器上运行时会抛出错误,因为它不支持该体系结构。
修改
是否有编译器标志只能在ARM(设备)上构建文件而不是i86(模拟器)
答案 0 :(得分:1)
您可以将文件包装在方法中,然后将方法包装在:
中#if TARGET_IPHONE_SIMULATOR
-(void)doSomethingUsingSimulatorOnly {
//do work
}
#endif
with else
#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
所以,你可以用不同的方式做到这一点,最后一种方法最容易使用,但每个人的口味都不同。
此外,这是Apple在最新的Metal示例中使用的片段,我认为这对您有用,或许也可以使用它作为示例。这是来自用于金属视频处理的“.mm”文件,它与上面的基本格式相同:
#ifdef __cplusplus
#endif // cplusplus