DevicePpi

此库提供 iOS 设备主显示屏的 PPI(每英寸像素)分辨率的运行时检测。

它对于以真实尺寸显示内容的应用程序非常有用,例如

示例

随着 Apple 发布新的 iOS 设备,此库需要不断更新,以在其内置列表中添加新设备。它不能保证对于尚不了解的新设备提供准确的 PPI 值,但在这种情况下,它会根据启发式方法(UIUserInterfaceIdiomUIScreen 值)和您可以视为非致命错误的代码提供“最佳猜测”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 Package Manager

添加具有此 URL 的软件包依赖项

https://github.com/Clafou/DevicePpi

CocoaPods

或者,可以通过 CocoaPods 将 DevicePpi 添加到您的项目中。

pod 'DevicePpi'

其他

Capacitor 用户可以在 npmGitHub 上使用此软件包

设备

设备及其 PPI 列表会随着新模型的发布而更新。目前,包含以下设备

iPhone

iPod touch

iPad

不包含过旧而无法支持 iOS 8 或更高版本(此库的部署目标)的设备。 这些设备包括:iPhone(原始型号)、iPhone 3GS、iPhone 4 以及第一代、第二代和第三代 iPod touch。

作者

Sébastien Molines

许可证

DevicePpi 在 MIT 许可证下可用。 有关更多信息,请参见 LICENSE 文件。