| 支店 | バージョン |
|---|---|
| マスター | ≥2.0 |
| Swift 4-4.2 | ≥1.3<1.13 |
| スウィフト3 | ≥1.0<1.3 |
| Swift 2.3 | <1.0 |
DeviceKit 、 UIDeviceの価値タイプの置き換えです。
最新の機能、改善、バグの修正については、詳細なChangelogを参照してください。
DeviceKitはさまざまな方法でインストールできます。
pod 'DeviceKit' , '~> 5.2' pod 'DeviceKit' , '3.2' pod 'DeviceKit' , '~> 1.3' pod 'DeviceKit' , '~> 1.2.3' pod 'DeviceKit' , :git => 'https://github.com/devicekit/DeviceKit.git' , :branch => 'swift-2.3-unsupported'dependencies: [
. package ( url : " https://github.com/devicekit/DeviceKit.git " , from : " 4.0.0 " ) ,
/// ...
] dependencies: [
. package ( url : " https://github.com/devicekit/DeviceKit.git " , from : " 3.2.0 " ) ,
/// ...
] github "devicekit/DeviceKit" ~> 4.0
github "devicekit/DeviceKit" ~> 3.2
github "devicekit/DeviceKit" ~> 1.3
github "devicekit/DeviceKit" ~> 1.2.3
github "devicekit/DeviceKit" "swift-2.3-unsupported"
手動でインストールするには、 DeviceKitプロジェクトをXcodeのアプリプロジェクトにドラッグします。または、実行してgitサブモジュールとして追加します。
$ git submodule add https://github.com/devicekit/DeviceKit.gitまず、フレームワークをインポートしてください。
import DeviceKitいくつかの使用例を次に示します。すべてのデバイスはシミュレーターとしても利用できます。
. iPhone6 => . simulator ( . iPhone6 )
. iPhone6s => . simulator ( . iPhone6s )これらの例を遊び場で試すことができます。
注記:
遊び場でDeviceKitを試すには、
DeviceKit.xcworkspaceを開き、現在のスキームとして「devicekit」を選択して、任意のシミュレーターのdevicekit.frameworkを構築します。
let device = Device . current
print ( device ) // prints, for example, "iPhone 6 Plus"
if device == . iPhone6Plus {
// Do something
} else {
// Do something else
} let device = Device . current
if device . isPod {
// iPods (real or simulator)
} else if device . isPhone {
// iPhone (real or simulator)
} else if device . isPad {
// iPad (real or simulator)
} let device = Device . current
if device . isSimulator {
// Running on one of the simulators(iPod/iPhone/iPad)
// Skip doing something irrelevant for Simulator
} let device = Device . current
switch device {
case . simulator ( . iPhone6s ) : break // You're running on the iPhone 6s simulator
case . simulator ( . iPadAir2 ) : break // You're running on the iPad Air 2 simulator
default : break
} let groupOfAllowedDevices : [ Device ] = [ . iPhone6 , . iPhone6Plus , . iPhone6s , . iPhone6sPlus , . simulator ( . iPhone6 ) , . simulator ( . iPhone6Plus ) , . simulator ( . iPhone6s ) , . simulator ( . iPhone6sPlus ) . simulator ( . iPhone8 ) , . simulator ( . iPhone8Plus ) , . simulator ( . iPhoneX ) , . simulator ( . iPhoneXS ) , . simulator ( . iPhoneXSMax ) , . simulator ( . iPhoneXR ) ]
let device = Device . current
if device . isOneOf ( groupOfAllowedDevices ) {
// Do your action
}注記:
現在のバッテリー状態を取得するには、
UIDevice.current.isBatteryMonitoringEnabledをtrueに設定する必要があります。コードの問題を回避するために、現在の設定を読んで、それが私たちが終わったときにそれをリセットします。
if device . batteryState == . full || device . batteryState >= . charging ( 75 ) {
print ( " Your battery is happy! ? " )
}if device . batteryLevel >= 50 {
install_iOS ( )
} else {
showError ( )
}if device . batteryState . lowPowerMode {
print ( " Low Power mode is enabled! ? " )
} else {
print ( " Low Power mode is disabled! ? " )
}if device . isGuidedAccessSessionActive {
print ( " Guided Access session is currently active " )
} else {
print ( " No Guided Access session is currently active " )
}if device . screenBrightness > 50 {
print ( " Take care of your eyes! " )
}if Device . volumeAvailableCapacityForOpportunisticUsage ?? 0 > Int64 ( 1_000_000 ) {
// download that nice-to-have huge file
}
if Device . volumeAvailableCapacityForImportantUsage ?? 0 > Int64 ( 1_000 ) {
// download that file you really need
} すべてのモデル識別子は、次のWebサイトから取得されます:https://www.theiphonewiki.com/wiki/modelsまたはXcodeにバンドルされたシミュレーターアプリから抽出されます。
実装したい特定の機能が必要な場合、またはバグが発生した場合は、問題を開いてください。 DeviceKitの機能を自分で拡張し、他の人にも使用してもらいたい場合は、プルリクエストを送信してください。
このプロジェクトに貢献した人々の完全なリストはこちらから入手できます。 DeviceKitはあなたなしではそうではありません!どうもありがとうございます!