要运行示例项目,请克隆 repo,并首先从 Example 目录运行 pod install
。
Luminous 可通过 Swift Package Manager 和 CocoaPods 安装。
添加 https://github.com/andrealufino/Luminous
作为库的 URL。 Deviice 也会被导入。
要安装它,只需将以下行添加到您的 Podfile
pod "Luminous"
然后,在您想使用该库的任何地方使用 import Luminous
。
Luminous 只有一个依赖项: Deviice,这是我的另一个库,用于了解您的应用程序在哪个设备上运行,以及一些有用的信息。自从 2.2.0 版本以来,这个依赖项实际上不再使用,但是当您添加 Luminous
时,它仍然存在。
在 2.2.0 版本中,我更新了 Luminous.Hardware.Device
结构,删除了返回 Deviice
对象的 current
变量。 鉴于 Deviice 库已更新到版本 2,我也借此机会进行了一项更改。 因此,Luminous 仍然会自动下载 Deviice 库,但它并没有在框架中使用它。 如果你想获得 Deviice
(或者,更好的说法,是新的 Device
) 对象,你必须导入 Deviice
并从那里使用所有内容。
在版本 2 中,我改变了一些东西并添加了其他东西。 对库的结构进行了一项重要更改,这对那些想要为项目做出贡献的人和那些想要 fork 它的人都很有用。 我为每个子结构创建了一个特定的文件 (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)currentAudioOutputVolume
secondaryAudioShouldBeSilencedHint
SystemVersion
(从 2.1.0 版本开始):这已添加到 Hardware
结构下,并代表系统版本Luminous 是 ALSystemUtilities 库的儿子,该库不再维护(它仍然是我 github 上最好的库)。 我从那一个中获得灵感,并用 Swift 从头开始编写所有内容,添加了一些新功能,并借助 Objective-C 和 Swift 之间的差异以不同的方式设计它。
Luminous 是一个大型库,我喜欢将其视为“Helper Library”。 它提供了大量关于系统的信息,并具有一些可以显着加快开发过程的功能。
它由 3 个部分组成: - 系统信息 ( Luminous.System.<substruct>
)- utils(一些方便的方法,如电子邮件检查) - 自定义应用程序配置
Luminous 不再由 3 个部分组成,因为我认为一个库必须只服务于一个目的。 我删除了 Utils 和 AppConfiguration 结构。 对于由此可能造成的任何不便,我深感抱歉,但我认为这是正确的选择。
在这里,我提供了大量关于系统的信息,你可以使用 Luminous.<substruct>
符号来访问它们。
这里有 11 个不同的子结构,你可以从中获取信息
网络
isConnectedViaWiFi
isConnectedViaCellular
SSID
(在 iOS 13 上已弃用)Locale
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
结构,不再是 String
)bootTime
isLowPowerModeEnabled
屏幕
brightness
isScreenMirrored
nativeBounds
nativeScale
bounds
scale
snapshotOfCurrentView
设备
current
(返回 Deviice 对象)identifierForVendor
orientation
附件
count
connectedAccessoriesNames
connectedAccessories
传感器
isAccelerometerAvailable
isGyroAvailable
isMagnetometerAvailable
isDeviceMotionAvailable
音频
currentAudioOutputVolume
secondaryAudioShouldBeSilencedHint
磁盘
totalSpace
freeSpace
usedSpace
totalSpaceInBytes
freeSpaceInBytes
usedSpaceInBytes
freeSpaceInPercentage
usedSpaceInPercentage
电池
level
state
应用程序
version
build
completeAppVersion
clipboardString
我相信你一定会问自己“为什么这个库叫做 Luminous?”。 好吧,不要再想了。 原因很简单:我喜欢“Luminous”这个词,它给我一种独特的感觉,感觉它既明亮又令人敬畏! 所以,我选择用这种方式来命名这个库! 但你可以认为“Luminous 是因为这个库会照亮你的开发之路,加快开发速度,并给你更多属于自己的时间”,这更具有哲学意义。
任何建议都将不胜感激。 该库使用结构体和静态函数设计,但我仍然不确定这个选择。 我正在纠结是否最好使用静态函数或静态变量,所以这是你可以帮助我的第一点。
Luminous 在 MIT 许可证下可用。 有关更多信息,请参见 LICENSE 文件。