🥑
【Swift】iOSのバージョンごとに処理を分けたい時
#available
で条件分岐できます。
環境
- Xcode13.0
- Swift5.5
if文で使用
if #available(iOS 15.0, *) {
/// iOS 15.0以降の時はここを通る
} else {
/// iOS 15.0より前の時はここを通る
}
guard文で使用
guard #available(iOS 15.0, *) else {
/// iOS 15.0より前の時はここを通る
}
/// iOS 15.0以降の時はここを通る
例
example1.swift
func checkVersion() {
if #available(iOS 15.0, *) {
print("iOS 15.0より以降のバージョンです。")
} else {
print("iOS 15.0より前のバージョンです。")
}
}
func checkVersion() {
guard #available(iOS 15.0, *) else {
print("iOS 15.0より前のバージョンです。")
}
print("iOS 15.0より以降のバージョンです。")
}
SwiftUIでの例
ContentView.swift
struct ContentView: View {
var body: some View {
VStack {
if #available(iOS 15.0, *) {
Text("iOS 15.0以降です。")
} else {
Text("iOS 15.0より前です。")
}
}
}
}
Discussion