iOS条件编译区分真机模拟器

开发中,我们或许会引入一些不支持编译模拟器的第三方库,iOS用真机调试比较麻烦,其实我们可以通过条件编译的方式区分模拟器或者真机:

OC版:

#if TARGET_IPHONE_SIMULATOR //模拟器

#elif TARGET_OS_IPHONE //真机

#endif

Swift版:

    // 操作系统
    #if os(macOS) || os(iOS)
    
    // CPU架构
    #elseif arch(x86_64) || arch(arm64)
    
    // swift版本
    #elseif swift(<5) && swift(>=3)
    
    // 模拟器
    #elseif targetEnvironment(simulator)
    
    // 可以导入某模块
    #elseif canImport(Foundation)
    
    #else
    #endif

你可能感兴趣的:(iOS条件编译区分真机模拟器)