swift 预编译

本文详细介绍了Swift中的条件编译技巧,包括自定义Flag、系统Flag的使用,以及如何判断操作系统、CPU架构和Swift版本。此外,还讲解了如何通过预编译宏区分不同iOS版本和设置宏的不同位置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Swift 常用条件编译

自定义Flag

OC 中一般使用预编译宏来做条件编译,比如说添加个DEBUG =1 宏来区别测试版本和发布版本,写法一般是

#if DEBUG

由于很多公司喜欢搞同一个代码多个程序,所以为了更容易通过审核,咱们只要不停的换皮,而动态判断有些不妥,只好使用预编译宏来做区分,swift中也有这个编译方式写法和OC一样 ,不同在于或是 ||而不是|

#if <condition>
#elseif <condition>
#else
#endif
//这个是swift写法
if Note1 || Note2
系统Flag
系统相关
FunctionParams
os()判断系统OSX,iOS,watchOS
arch()判断cpu版本x86_64,arm,arm64,i386
// os()只能检测系统类型,而无法检测系统的版本
#if os(OSX)
    typealias Color = NSColor
#elseif os(iOS)
    typealias Color = UIColor
#endif
语言相关
#if swift(>=4)
    // Swift 4 及以上
#else
    // Swift 4 以下
#endif
ios版本
if #available(iOS 10.0, *) {
    // iOS 10 及以上
}else{
    // iOS 10 以下
}

有一个很重的地方需要注意的是,Swift的宏设置在 设置界面的 Other Swift Flags设置, OC的宏设置在 Preprocessor Macros中进行设置,这是个区别,设置在不同的地方

转载于:https://www.cnblogs.com/RoysPhoneBlog/p/9950673.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值