swift中有很好的@available属性来测试编译时的可用性。例如 HKQuantityTypeIdentifierAppleExerciseTime 标识符仅从 iOS 9.3 开始可用,所以如果我们想使用它,我们需要像这样检查可用性:
@available(iOS 9.3, *)
public static let supportedTypes = [
HKQuantityTypeIdentifierActiveEnergyBurned,
HKQuantityTypeIdentifierAppleExerciseTime
]
但是当标识符不可用时是否可以添加案例?在 iOS < 9.3 中定义相同的常量为:
// iOS < 9.3 case:
public static let supportedTypes = [
HKQuantityTypeIdentifierActiveEnergyBurned
]