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
子结构现在有一个新方法来返回totalSpace
、freeSpace
和usedSpace
,该方法是作为输入的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
帮助
任何建议都备受欢迎。该库采用结构体和静态函数进行设计,但我不确定这种选择是否正确。我在使用静态函数或静态变量之间犹豫不决,因此您可以帮助我解决第一个问题。
作者
许可证
Luminous 可在 MIT 许可下使用。有关更多信息,请参阅 LICENSE 文件。