DevicePpi
该库提供对 iOS 设备主显示屏的 PPI(每英寸像素数)运行时检测。
对于显示真实大小的应用很有用,例如:
- 3-in-1 Ruler 使用它显示屏幕上的刻度尺。
- Print to Size 使用它作为缩放指示器。
示例
随着苹果发布新的 iOS 设备,此库需要持续更新以将新设备添加到其内置列表中。它无法保证未知新设备的 PPI 值的准确性,但在这些情况下,它将根据启发式方法(UIUserInterfaceIdiom
和 UIScreen
值)提供一个“最佳猜测”的 PPI 值,以及一个错误代码,您可以将其视为非致命错误。
let ppi: Double = {
switch Ppi.get() {
case .success(let ppi):
return ppi
case .unknown(let bestGuessPpi, let error):
// A bestGuessPpi value is provided but may be incorrect
// Treat as a non-fatal error -- e.g. log to your backend and/or display a message
return bestGuessPpi
}
}()
要求
iOS 8 或更高版本。
安装
Swift 包管理器
使用此 URL 添加包依赖
https://github.com/Clafou/DevicePpi
CocoaPods
或者,您可以通过 CocoaPods 将 DevicePpi 添加到您的项目中。
pod 'DevicePpi'
其他
Capacitor 用户可以在 npm 和 GitHub 上使用此包。
设备
随着新型号的发布,设备及其 PPI 的列表会更新。目前,以下设备已包括在内
iPhone
- iPhone 4S
- iPhone 5
- iPhone 5C
- iPhone 5S
- iPhone 6
- iPhone 5 Plus
- iPhone 6S
- iPhone SE
- iPhone 7
- iPhone 7 Plus
- iPhone 8
- iPhone 8 Plus
- iPhone X
- iPhone XS
- iPhone XS Max
- iPhone XR
- iPhone 11
- iPhone 11 Pro
- iPhone 11 Pro Max
- iPhone SE (第 2 代)
- iPhone 12 mini
- iPhone 12
- iPhone 12 Pro
- iPhone 12 Pro Max
- iPhone 13 mini
- iPhone 13
- iPhone 13 Pro
- iPhone 13 Pro Max
- iPhone SE (第 3 代)
- iPhone 14
- iPhone 14 Plus
- iPhone 14 Pro
- iPhone 14 Pro Max
iPod touch
- iPod touch (第 5 代)
- iPod touch (第 6 代)
- iPod touch (第 7 代)
iPad
- iPad 2
- iPad mini
- iPad (第 3 代)
- iPad (第 4 代)
- iPad Air
- iPad mini 2
- iPad mini 3
- iPad Air 2
- iPad mini 4
- iPad Pro (9.7 英寸)
- iPad Pro (12.9 英寸)
- iPad (第 5 代)
- iPad Pro (12.9 英寸,第 2 代)
- iPad Pro (10.5 英寸)
- iPad (第 6 代)
- iPad Pro (11 英寸)
- iPad Pro (12.9 英寸,第 3 代)
- 第3代 iPad Air
- 第5代 iPad mini
- 第7代 iPad
- 第2代 11英寸 iPad Pro
- 第4代 12.9英寸 iPad Pro
- 第8代 iPad
- 第4代 iPad Air
- 第3代 11英寸 iPad Pro
- 第5代 12.9英寸 iPad Pro
- 第9代 iPad
- 第6代 iPad mini
- 第5代 iPad Air
- 第10代 iPad
- 第4代 11英寸 iPad Pro
- 第6代 12.9英寸 iPad Pro
不支持 iOS 8 或更高版本的旧设备(本库的部署目标)不包括在内。这些设备包括:原始型号的 iPhone、iPhone 3GS、iPhone 4 以及第1代、第2代和第3代 iPod touch。
作者
Sebastien Molines
许可证
DevicePpi 根据 MIT 许可证提供。有关更多信息,请参阅 LICENSE 文件。