iOS开发 available版本限制基础使用

1. 类判断

限制当前类在某个版本之后才能使用

  • OC
    API_AVAILABLE(ios(10.0)) 会对类添加系统版本约束
API_AVAILABLE(ios(10.0))
@interface TestClass: NSObject { }
  • Swift
    @available(iOS 10.0, *) 对类添加系统版本约束
@available(iOS 10.0, *)
class TestClass: NSObject { }
2. 属性判断
//从版本iOS 10开始才使用这个属性
@property(nonatomic,strong)NSDate * date API_AVAILABLE(ios(10.0),*)

*代表全平台(iPhone、ipad、iWatch等)

3. 函数外判断
  • OC
    __IPHONE_OS_VERSION_MIN_REQUIRED:最低iOS版本要求
    __IPHONE_OS_VERSION_MAX_ALLOWED:允许最大的iOS版本
#if __IPHONE_OS_VERSION_MIN_REQUIRED >= 100000 // (iOS10以上的版本才适用)
- (void)methodName{}
#else
- (void)methodName2 {} //iOS 10以下的版本执行这个
#endif
  • Swift
    @available(iOS 10.0, *) 限制函数适用系统范围 10.0以上
@available(iOS 10.0, *)
func funcName() { }
4. 函数内判断
  • OC
- (void)methodName3 {
    if (@avavilable(iOS 10.0,*)) {
        //这里的需要超过iOS 10才会执行
    }
}
  • Swift
func methodName4() {
    if #available(iOS 10.0, *) {
        print("iOS系统在10.0以上(包含10.0)才适用")            
    } else {
        print("iOS系统在10.0以下才适用")            
    }
}

推荐阅读更多精彩内容