要运行示例项目,请克隆 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 已重命名为 BatteryStateLMSizeScale 已重命名为 MeasureUnitLuminous.Carrier.allowsVOIP 已重命名为 isVoipAllowedLuminous.Hardware.physicalMemory(withScale: _) 现在返回一个 Double,不再是 FloatLuminous.<substruct> 访问所有结构,因为我删除了 System 中间件结构,因为它变得无用了NSLocale 不再在库中使用。 我切换到 LocaleDisk 子结构现在有一个新方法来返回 totalSpace、freeSpace 和 usedSpace,它接受一个 MeasureUnit 参数作为输入。 返回 String 和百分比的旧变量已被弃用,将在下一个版本中删除Audio (感谢 GregOriol)currentAudioOutputVolumesecondaryAudioShouldBeSilencedHintSystemVersion(从 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 个不同的子结构,你可以从中获取信息
网络
isConnectedViaWiFiisConnectedViaCellularSSID(在 iOS 13 上已弃用)Locale
currentLanguagecurrentTimeZonecurrentTimeZoneNamecurrentCountrycurrentCurrencycurrentCurrencySymbolusesMetricSystemdecimalSeparator运营商
nameISOCountryCodemobileCountryCodenetworkCountryCode(已弃用,请改用 mobileNetworkCode)mobileNetworkCodeallowsVOIP硬件
SystemVersion 结构processorsNumberactiveProcessorsNumberphysicalMemorysystemNamesystemVersion(这是从 2.1.0 版本开始的 SystemVersion 结构,不再是 String)bootTimeisLowPowerModeEnabled屏幕
brightnessisScreenMirrorednativeBoundsnativeScaleboundsscalesnapshotOfCurrentView设备
current(返回 Deviice 对象)identifierForVendororientation附件
countconnectedAccessoriesNamesconnectedAccessories传感器
isAccelerometerAvailableisGyroAvailableisMagnetometerAvailableisDeviceMotionAvailable音频
currentAudioOutputVolumesecondaryAudioShouldBeSilencedHint磁盘
totalSpacefreeSpaceusedSpacetotalSpaceInBytesfreeSpaceInBytesusedSpaceInBytesfreeSpaceInPercentageusedSpaceInPercentage电池
levelstate应用程序
versionbuildcompleteAppVersionclipboardString我相信你一定会问自己“为什么这个库叫做 Luminous?”。 好吧,不要再想了。 原因很简单:我喜欢“Luminous”这个词,它给我一种独特的感觉,感觉它既明亮又令人敬畏! 所以,我选择用这种方式来命名这个库! 但你可以认为“Luminous 是因为这个库会照亮你的开发之路,加快开发速度,并给你更多属于自己的时间”,这更具有哲学意义。
任何建议都将不胜感激。 该库使用结构体和静态函数设计,但我仍然不确定这个选择。 我正在纠结是否最好使用静态函数或静态变量,所以这是你可以帮助我的第一点。
Luminous 在 MIT 许可证下可用。 有关更多信息,请参见 LICENSE 文件。