Apple Watch と WatchOS のデバイス情報を取得する
iOS 9 β4で WKInterfaceDevice にデバイス情報を取得するメソッドが追加された。
追加されたメソッドは以下で取得できる情報は iOS の UIDevice に存在する同名のメソッドと同じ。
@property(nonatomic, readonly, copy) NSString *systemVersion WK_AVAILABLE_WATCHOS_IOS(2.0,9.0); // e.g. @"2.0" @property(nonatomic, readonly, copy) NSString *name WK_AVAILABLE_WATCHOS_IOS(2.0,9.0); // e.g. "My Watch" @property(nonatomic, readonly, copy) NSString *model WK_AVAILABLE_WATCHOS_IOS(2.0,9.0); // e.g. @"Apple Watch" @property(nonatomic, readonly, copy) NSString *localizedModel WK_AVAILABLE_WATCHOS_IOS(2.0,9.0); // localized version of model @property(nonatomic, readonly, copy) NSString *systemName WK_AVAILABLE_WATCHOS_IOS(2.0,9.0); // e.g. @"watchOS"
実際に実機で試してみたところ以下が取得できた。
| メソッド | 値 |
|---|---|
| systemVersion | 2.0 |
| name | iOS のWatch アプリで設定した名称 |
| model | Apple Watch |
| localizedModel | Apple Watch |
| systemName | watchOS |
その他
sysctlbyname ファンクションで取得できるデバイス情報の hw.machine と hw.model は以下になる。
| キー | Apple Watch 38mm | Apple Watch 42mm |
|---|---|---|
| hw.machine | Watch1,1 | Watch1,2 |
| hw.model | N27aAP | N28aAP |
将来的に新バージョンの Apple Watch が出た際には sysctlbyname を使ってデバイス判定を行う事ができる。