![見出し画像](https://assets.st-note.com/production/uploads/images/73437858/rectangle_large_type_2_5315fea087ed1e0bfd1d8a0dae3d4722.jpeg?width=1200)
systemNameがiPadでは「iPadOS」を返すようになっていた
UIDevice クラスの systemName は iOS 14 では iPad でも『iOS』を返していました。
iOS 15.3.1 で確認したところ iPad では『iPadOS』を返していました。
私のアプリ AllGlyphs はどのOSに搭載されているかを確認するため、systemName と systemVersion を表示しています。
iOS 14.4.2 の iPad では『iOS』と表示します:
![](https://assets.st-note.com/img/1646271375134-NZYYtvjzEt.jpg?width=1200)
同じアプリを 15.3.1 の別の iPad で実行し確認すると『iPadOS』と表示します。
![](https://assets.st-note.com/img/1646271422559-s2xfHykFRC.jpg?width=1200)
15.0 では「iOS」と表示していたように記憶しています(が定かではありません)。
『Apple は「iPadOS」と「iOS」を区別するようになっても systemName
では「iOS」と表示するのか』と感じていました。
iPhone で実行すると『iOS』と表示します。
![](https://assets.st-note.com/img/1646272185566-ePTJCWIZQB.jpg?width=1200)
systemName と systemVersion の使い方は簡単です。
let systemName = UIDevice.current.systemName
let versionStr = UIDevice.current.systemVersion
ドキュメントには何も触れられていませんが iPhone と iPad を区別することができるようになっています。
ドキュメント 👉systemName
Xcode 13.2.1 のシミュレーターでも iPad は『iPadOS』を表示しました。
systemName の挙動の違いは AllGlyphs アプリのテスト中に気づきました。
詳しくはこちらの記事に描きました。
今後も記事を増やすつもりです。 サポートしていただけると大変はげみになります。