詳解UIDevice

name

端末の名前が表示される。機種ではなく、〇〇のiPhoneなどの名前

model

端末のモデル名、iPhone, iPodtouch, iPadなど大まかなモデル名が表示される

localizedModel

ローカライズバージョンが表示されると書いてあったのですが、手元で試した限りはmodelと同じものが表示されました。

systemName

手元ではiOSと表示されました、watchOSなどと判定をする時に使用する?

systemVersion

端末のOSVersionが表示される、例: 13.4.1

orientation

デバイスの向きを示す、通知を設定していない場合はUIDeviceOrientationUnknownを返す

public enum UIDeviceOrientation : Int {

    
    case unknown = 0

    case portrait = 1 // Device oriented vertically, home button on the bottom

    case portraitUpsideDown = 2 // Device oriented vertically, home button on the top

    case landscapeLeft = 3 // Device oriented horizontally, home button on the right

    case landscapeRight = 4 // Device oriented horizontally, home button on the left

    case faceUp = 5 // Device oriented flat, face up

    case faceDown = 6 // Device oriented flat, face down
}

identifierForVendor

端末を一意に識別するためのUUIDが入っている。

isGeneratingDeviceOrientationNotifications

デバイスの向きが変わった時に変更を通知するかのフラグ、デフォルトはtrue

beginGeneratingDeviceOrientationNotifications()

デバイスの向き検出開始。orientationプロパティから画面の回転を取得する際に必要

endGeneratingDeviceOrientationNotifications()

デバイスの向き検出終了。

isBatteryMonitoringEnabled

端末のバッテリー監視を有効にするかのフラグ、デフォルトはfalse

batteryState

デバイスのバッテリー状態を示す。isBatteryMonitoringEnabledが許可されていない場合はunknown

   public enum BatteryState : Int {

        case unknown = 0

        case unplugged = 1

        case charging = 2

        case full = 3
    }

batteryLevel

端末の充電レベル、0.0-1.0の範囲で返却される。isBatteryMonitoringEnabledが許可されていない場合は-1.0

isProximityMonitoringEnabled

近接センサーを使う際のフラグ、デフォルトはfalse

proximityState

ユーザが近接状態かを示す。電話をかける時に画面が暗くなるのはおそらく近接センサーを使っている。

isMultitaskingSupported

端末がマルチタスクをサポートしているかのフラグ

userInterfaceIdiom

特定の端末で処理をする際にuserInterfaceIdiomを使って処理を判定する。判定できるのは大まかなOSの範囲でphone, pod , tvなどの分類

public enum UIUserInterfaceIdiom : Int {

    
    case unspecified = -1

    @available(iOS 3.2, *)
    case phone = 0 // iPhone and iPod touch style UI

    @available(iOS 3.2, *)
    case pad = 1 // iPad style UI

    @available(iOS 9.0, *)
    case tv = 2 // Apple TV style UI

    @available(iOS 9.0, *)
    case carPlay = 3 // CarPlay style UI
}

playInputClick()

カスタム入力やキーボードアクセサリビューで、キーボード入力のクリック音を再生する。

ユーザーが[設定]> [サウンド]でキーボードクリックを有効にしていない場合は再生されいので注意