OSS探訪GitHubでログイン

UIDeviceをvalue typeで補完し端末model・family・simulator・battery・hardware capabilityを判定する

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
4,733
主要言語
Swift
ライセンス
MIT
リポジトリ最終更新
2026/09/22
ページ内ナビ

概要

DeviceKitはUIDeviceを補完するSwiftのvalue-type libraryです。現在のdevice model、family、simulator、battery state/level、screen metrics、Face ID/Touch ID、disk space、eSIM supportなどを統一APIから判定できます。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

Device.currentからmodel・family・simulatorを判定する

Device.currentで実機またはsimulator modelを取得し、isPhone/isPad/isPodやisSimulatorなどのpropertyでdevice familyと実行環境を判定できます。

出典:[2]

battery・display・sensor・storageなどhardware capabilityを確認する

battery state/level、Low Power Mode、screen brightness、display metrics、Touch ID/Face ID、disk capacityなどdevice-specific情報を同じlibraryから取得できます。5.9.0ではeSIM/dual eSIM判定も追加されています。

出典:[2][4]

向いている用途

device model差によるUI・feature分岐やsupport情報表示が必要なiOS appに向く

device familyやhardware capabilityに応じたUI調整、diagnostics、support screen、simulator除外処理などをUIDevice周辺のad hoc codeへ分散させたくない場合に適します。

出典:[2]

導入前の確認

5.9.0は新しい2026年端末を追加し、SwiftPM manifestはiOS 13以上

5.9.0はiPhone 18 Pro/Pro Max、Apple Watch Series 12、Ultra 4など2026年9月端末を追加しています。READMEの一般RequirementsはiOS 11+ですが、5.9.0のPackage.swiftではSwiftPM platformをiOS 13+、tvOS 13+、watchOS 4+としています。

出典:[4][2][3]

参考にした公式資料

  1. [1]devicekit/DeviceKit — GitHub repository(2026-10-06)
  2. [2]DeviceKit 5.9.0 — README(2026-10-06)
  3. [3]DeviceKit 5.9.0 — Package.swift(2026-10-06)
  4. [4]DeviceKit 5.9.0 release(2026-10-06)
  5. [5]DeviceKit MIT license(2026-10-06)
編集部からの補足

device差によるUI・feature分岐、diagnostics、support情報表示をまとめたいiOS appに向きます。5.9.0ではiPhone 18 Pro系やApple Watch新modelも追加されています。

3ステップで試す

  1. 1

    DeviceKit 5.9.0をSwiftPMへ追加する

    2026年9月端末対応を含む5.9.0をversion固定します。

    .package(url: "https://github.com/devicekit/DeviceKit.git", exact: "5.9.0")
  2. 2

    現在のdeviceを取得する

    Device.currentから実機またはsimulatorのmodelを取得します。

    import DeviceKit let device = Device.current
  3. 3

    familyとsimulatorを判定する

    device model、family、simulator状態を同じvalueから確認します。

    print(device) print(device.isPhone) print(device.isSimulator)
公式READMEで確認

成長

成長の推移 · 直近30日

4,733 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
6
Open PR
24

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • swift
  • ios
  • tvos
  • device
  • device-family
  • simulator
  • battery-level
  • battery-state
  • swiftpm
  • hacktoberfest
Stars
4,733
Forks
468
Watchers
77
Open Issues
55
Contributors
51
所有者種別
Organization
主要言語
Swift
ライセンス
MIT
リポジトリ最終更新
2026/09/22

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?