| Filial | Versões |
|---|---|
| mestre | ≥ 2,0 |
| Swift 4 - 4.2 | ≥ 1,3 <1,13 |
| Swift 3 | ≥ 1,0 <1,3 |
| Swift 2.3 | <1,0 |
DeviceKit é uma substituição do tipo de valor do UIDevice .
Consulte nosso Changelog detalhado para obter os recursos mais recentes, melhorias e correções de bugs.
DeviceKit pode ser instalado de várias maneiras.
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"
Para instalá -lo manualmente, arraste o projeto DeviceKit para o seu projeto de aplicativo no Xcode. Ou adicione -o como um submódulo Git executando:
$ git submodule add https://github.com/devicekit/DeviceKit.gitPrimeiro, certifique -se de importar a estrutura:
import DeviceKitAqui estão alguns exemplos de uso. Todos os dispositivos também estão disponíveis como simuladores:
. iPhone6 => . simulator ( . iPhone6 )
. iPhone6s => . simulator ( . iPhone6s )Você pode experimentar esses exemplos no playground.
Observação:
Para experimentar o DeviceKit no playground, abra o
DeviceKit.xcworkspacee crie o DeviceKit.Framework para qualquer simulador primeiro selecionando o "DeviceKit" como seu esquema atual.
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
}Observação:
Para obter o estado da bateria atual, precisamos definir
UIDevice.current.isBatteryMonitoringEnabledcomotrue. Para evitar problemas com seu código, lemos a configuração atual e a redefinimos para o que era antes quando terminamos.
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
} Todos os identificadores de modelo são retirados do seguinte site: https://www.theiphonewiki.com/wiki/models ou extraído do aplicativo simulador com xcode.
Se você precisar de um recurso específico que deseja implementar ou se experimentou um bug, abra um problema. Se você estendeu a funcionalidade do DeviceKit e deseja que outras pessoas o usem também, envie uma solicitação de tração.
A lista completa de pessoas que contribuíram para este projeto está disponível aqui. DeviceKit não seria o que é sem você! Muito obrigado!