[Swift] コードスニペット: UIDevice

     
⌛️ < 1 min.

iOS(iPhone) か iPadOS(iPad) かをチェックするコード

環境&対象

以下の環境で動作確認を行なっています。

  • macOS14.3
  • Xcode 15.2
  • iOS 17.2
  • Swift 5.9

iOS か iPadOS かを識別する

画面のサイズや キーボード表示時の微妙な差異等で、iPhone と iPad で表示や動作をすこし 調整したくなることがあります。
そんなときに使えるコードです。

if UIDevice.current.userInterfaceIdiom == .phone {
  // code for iPhone
} else if UIDevice.current.userInterfaceIdiom == .pad {
  // code for iPad
} else {
  // .tv(AppleTV), .carPlay(CarPlay), .mac(mac Catalyst), vision(visionOS)
  // code for above
}


参考
UIDevice.userInterfaceIdiomApple Developer Documentation

まとめ

UIDevice.userInterfaceIdiom を使用すると動作デバイスの種類を確認できる。

UIDevice.userInterfaceIdiom を使った動作デバイスの確認
  • UIDevice.userInterfaceIdion を確認するとデバイスの種類が確認できる
  • 確認できるデバイスは、.phone, .pad, .tv, .carPlay, .mac, .vision
  • macOS native では、UIDevice は使えない(macCatalyst でのみ使用できる)

説明は以上です。
不明な点やおかしな点ありましたら、こちらまで。

SwiftUI おすすめ本

SwiftUI を理解するには、以下の本がおすすめです。

SwiftUI ViewMatery

SwiftUI で開発していくときに、ViewやLayoutのための適切なmodifierを探すのが大変です。
英語での説明になってしまいますが、以下の”SwiftUI Views Mastery Bundle”という本がビジュアル的に確認して探せるので、便利です。

英語ではありますが、1ページに コードと画面が並んでいるので、非常にわかりやすいです。

View に適用できる modifier もわかりやすく説明されているので、ビューの理解だけではなく、どのような装飾ができるかも簡単にわかります。

超便利です

SwiftUIViewsMastery

販売元のページは、こちらです。

SwiftUI 徹底入門

# SwiftUI は、毎年大きく改善されていますので、少し古くなってしまいましたが、いまでも 定番本です。

Swift学習におすすめの本

詳解Swift

Swift の学習には、詳解 Swift という書籍が、おすすめです。

著者は、Swift の初期から書籍を出していますし、Swift の前に主力言語だった Objective-C という言語についても同様の書籍を出しています。

最新版を購入するのがおすすめです。

現時点では、上記の Swift 5 に対応した第5版が最新版です。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です