詳解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()
カスタム入力やキーボードアクセサリビューで、キーボード入力のクリック音を再生する。
ユーザーが[設定]> [サウンド]でキーボードクリックを有効にしていない場合は再生されいので注意