版本 2.2.0

Luminous 2.2.0

测试测试通过
语言语言 SwiftSwift
许可证 MIT
发布最后发布2022年4月
SPM支持 SPM

Andrea Mario LufinoAndrae Mario Lufino维护。



Luminous 2.2.0

  • 作者:
  • Andrea Mario Lufino

Luminous

Luminous

示例

要运行示例项目,首先克隆仓库,然后从示例目录中运行pod install

系统要求

  • iOS 12+
  • Swift 5

安装

Luminous 通过Swift包管理器和CocoaPods提供。

Swift 包管理器

将库的 URL 设置为 https://github.com/andrealufino/Luminous。同时也会导入 Deviice

CocoaPods

要安装它,只需将以下行添加到您的 Podfile

pod "Luminous"

然后,在任何需要使用库的地方,使用 import Luminous

依赖项

Luminous 只有一个依赖项:我的另一个库 Deviice,它非常有用,可以知道您的应用程序正在哪个设备上运行,以及一些其他信息。从版本 2.2.0 开始,这个依赖项实际上不再被使用,但当你添加 Luminous 时仍然存在。

版本 2.2.0 - 不兼容的更改

在版本 2.2.0 中,我更新了 Luminous.Hardware.Device 结构,移除了返回一个 Deviice 对象的 current 变量。鉴于 Deviice 库已更新到版本 2,我借此机会也在这里进行了更改。因此,Luminous 仍然会自动下载 Deviice 库,但它不再在框架中使用它。如果您想获取 Deviice(或者更好,新的 Device)对象,您需要导入 Deviice 并从那里获取所有内容。

迁移到版本 2

在版本2中,我进行了一些更改并添加了新内容。对库结构进行了重要更改,这对想贡献项目或对其进行分支的人员都很有用。我为每个子结构创建了一个特定的文件(extension)。

已更改

  • LMBatteryState 已更名为 BatteryState
  • LMSizeScale 已更名为 MeasureUnit
  • Luminous.Carrier.allowsVOIP 已更名为 isVoipAllowed
  • Luminous.Hardware.physicalMemory(withScale: _) 现在返回 Double 而不再是 Float
  • 现在可以使用 Luminous.<substruct> 访问所有结构,因为我已经删除了无用的 System 中间件结构。
  • 库中不再使用 NSLocale。我已切换到 Locale
  • Disk 子结构现在有一个新方法来返回 totalSpacefreeSpaceusedSpace,该方法是作为输入的 MeasureUnit 参数。返回为 String 和百分比的旧变量已被弃用,将在下一版本中删除。

新增

  • Audio(感谢 GregOriol
    • 当前音频输出音量
    • 次要音频应静音提示
  • SystemVersion(从2.1.0版本开始):此内容已添加到 Hardware 结构中,并代表系统版本

什么是Luminous?

Luminous 是 ALSystemUtilities 库的后代,该库已不再维护(它仍然是我github上最好的库)。我从那里获得了灵感,并在Swift中从头开始编写了一切,添加了一些新的功能,并基于Objective-C和Swift之间的差异以不同的方式设计了它。

Luminous 是一个庞大的库,我喜欢把它视为一个“辅助库”。它提供了大量关于系统的信息,并具有可以显著加快开发过程的一些功能。

它由以下部分组成: - 系统信息(Luminous.System.<substruct> - 工具(一些实用方法,如电子邮件检查) - 自定义应用配置

  • 网络
    • isConnectedViaWiFi
    • isConnectedViaCellular
    • SSID(在iOS 13上已弃用)
  • 地区
    • currentLanguage
    • currentTimeZone
    • currentTimeZoneName
    • currentCountry
    • currentCurrency
    • currentCurrencySymbol
    • usesMetricSystem
    • decimalSeparator
  • 运营商
    • name
    • ISOCountryCode
    • mobileCountryCode
    • networkCountryCode(已弃用,请使用mobileNetworkCode代替)
    • mobileNetworkCode
    • allowsVOIP
  • 硬件
    • SystemVersion结构体
    • processorsNumber
    • activeProcessorsNumber
    • physicalMemory
    • systemName
    • systemVersion(这是从版本2.1.0开始的SystemVersion结构体,不再是
    • bootTime
    • isLowPowerModeEnabled
    • 屏幕
      • brightness
      • isScreenMirrored
      • nativeBounds
      • nativeScale
      • bounds
      • scale
      • snapshotOfCurrentView
    • 设备
      • current(返回一个Deviice对象)
      • identifierForVendor
      • orientation
    • 附件
      • count
      • connectedAccessoriesNames
      • connectedAccessories
    • 传感器
      • isAccelerometerAvailable
      • isGyroAvailable
      • isMagnetometerAvailable
      • isDeviceMotionAvailable
  • 音频
    • 当前音频输出音量
    • 次要音频应静音提示
  • 磁盘
    • totalSpace
    • freeSpace
    • usedSpace
    • totalSpaceInBytes
    • freeSpaceInBytes
    • usedSpaceInBytes
    • freeSpaceInPercentage
    • usedSpaceInPercentage
  • 电池
    • level
    • state
  • 应用程序
    • version
    • build
    • completeAppVersion
    • clipboardString

帮助

任何建议都备受欢迎。该库采用结构体和静态函数进行设计,但我不确定这种选择是否正确。我在使用静态函数或静态变量之间犹豫不决,因此您可以帮助我解决第一个问题。

作者

Andrea Mario Lufino.

许可证

Luminous 可在 MIT 许可下使用。有关更多信息,请参阅 LICENSE 文件。