All Projects → andrealufino → Luminous

andrealufino / Luminous

Licence: mit
Luminous provides you a lot of information about the system and a lot of handy methods to quickly get useful data on the iOS platform.

Programming Languages

swift
15916 projects
language
365 projects
languages
34 projects

Projects that are alternatives of or similar to Luminous

Iglance
Free system monitor for OSX and macOS. See all system information at a glance in the menu bar.
Stars: ✭ 1,358 (+355.7%)
Mutual labels:  hardware, system, battery
AXIOM-Remote
A device to control AXIOM cameras.
Stars: ✭ 24 (-91.95%)
Mutual labels:  device, hardware
Bash Oneliner
A collection of handy Bash One-Liners and terminal tricks for data processing and Linux system maintenance.
Stars: ✭ 1,359 (+356.04%)
Mutual labels:  hardware, system
Hardware.Info
Battery, BIOS, CPU - processor, storage drive, keyboard, RAM - memory, monitor, motherboard, mouse, NIC - network adapter, printer, sound card - audio card, graphics card - video card. Hardware.Info is a .NET Standard 2.0 library and uses WMI on Windows, /dev, /proc, /sys on Linux and sysctl, system_profiler on macOS.
Stars: ✭ 238 (-20.13%)
Mutual labels:  device, hardware
Statusalert
Display Apple system-like self-hiding status alerts. It is well suited for notifying user without interrupting user flow in iOS-like way.
Stars: ✭ 809 (+171.48%)
Mutual labels:  cocoapods, system
Detect Gpu
Classifies GPUs based on their 3D rendering benchmark score allowing the developer to provide sensible default settings for graphically intensive applications.
Stars: ✭ 460 (+54.36%)
Mutual labels:  hardware, device
Version
Represent and compare versions via semantic versioning (SemVer) in Swift
Stars: ✭ 160 (-46.31%)
Mutual labels:  version, cocoapods
MooInfo
Visual implementation of OSHI, to view information about the system and hardware.
Stars: ✭ 83 (-72.15%)
Mutual labels:  system, hardware
SAMD TimerInterrupt
This library enables you to use Interrupt from Hardware Timers on an SAMD-based board. These SAMD Hardware Timers, using Interrupt, still work even if other functions are blocking. Moreover, they are much more precise (certainly depending on clock frequency accuracy) than other software timers using millis() or micros(). That's mandatory if you …
Stars: ✭ 28 (-90.6%)
Mutual labels:  device, hardware
hardware
Get CPU, Memory and Network informations of the running OS and its processes
Stars: ✭ 70 (-76.51%)
Mutual labels:  system, hardware
Alsystemutilities
THIS REPO IS NO LONGER MAINTAINED! Check https://github.com/andrealufino/Luminous. This library provides a list of 80 methods to get every kind of system information!
Stars: ✭ 644 (+116.11%)
Mutual labels:  system, device
Deviice
Swift library to easily check the current device and some more info about it.
Stars: ✭ 51 (-82.89%)
Mutual labels:  device, system
Easydeviceinfo
📱 [Android Library] Get device information in a super easy way.
Stars: ✭ 1,698 (+469.8%)
Mutual labels:  device, battery
Librehardwaremonitor
Libre Hardware Monitor, home of the fork of Open Hardware Monitor
Stars: ✭ 685 (+129.87%)
Mutual labels:  hardware, system
Assistantkit
Easy way to detect iOS device properties, OS versions and work with screen sizes. Powered by Swift.
Stars: ✭ 569 (+90.94%)
Mutual labels:  device, battery
yaf
Yet another system fetch that is minimal and customizable
Stars: ✭ 23 (-92.28%)
Mutual labels:  system, disk-space
detect-gpu
Classifies GPUs based on their 3D rendering benchmark score allowing the developer to provide sensible default settings for graphically intensive applications.
Stars: ✭ 749 (+151.34%)
Mutual labels:  device, hardware
WindowsMonitor
WMI namespaces and classes
Stars: ✭ 15 (-94.97%)
Mutual labels:  system, hardware
Swiftprogresshud
📦 SwiftProgressHUD is a user-friendly pure swift HUD. 支持Cocoapods 及 Carthage
Stars: ✭ 290 (-2.68%)
Mutual labels:  cocoapods
Waterius
Передача показаний воды по Wi-Fi. Watermeter Wi-Fi transmitter.
Stars: ✭ 295 (-1.01%)
Mutual labels:  hardware

Luminous

Luminous

Example

To run the example project, clone the repo, and run pod install from the Example directory first.

Requirements

  • iOS 8+
  • Swift 5
  • Xcode 10

Installation

Luminous is available through CocoaPods and Swift Package Manager.

CocoaPods

To install it, simply add the following line to your Podfile:

pod "Luminous"

Then use import Luminous wherever you want to use the library.

Swift Package Manager

To add Luminous to your Xcode project, select File -> Swift Packages -> Add Package Depedancy. Enter https://github.com/andrealufino/Luminous for the URL. Check the use branch option and enter master.

Manually

Download the project and drag all the files present in Luminous -> Luminous -> Sources into your project. The library depends from the Deviice framework. Download it and do the same with it (dragging Deviice.swift).

Dependencies

Luminous has only 1 dependency : Deviice which is my other library useful to know on which device your app is running on, plus some nice information.

Migration to version 2

In version 2, I've changed some things and added others. An important change has been made to the structure of the library, useful for who wants to contribute to the project and to who wants to fork it. I created a specific file (extension) for every substruct.

Changed

  • LMBatteryState has been renamed to BatteryState
  • LMSizeScale has been renamed to MeasureUnit
  • Luminous.Carrier.allowsVOIP has been renamed to isVoipAllowed
  • Luminous.Hardware.physicalMemory(withScale: _) now returns a Double and no more a Float
  • All the structs are now accessible using Luminous.<substruct> as I removed the System middleware struct since it became useless
  • NSLocale is no more used in the library. I switched to Locale
  • Disk substruct now has a new method to return the totalSpace, freeSpace and usedSpace that takes a MeasureUnit parameter as input. The old vars that returned String and percentage have been deprecated and will be removed in the next version

Added

  • Audio (thanks to GregOriol)
    • currentAudioOutputVolume
    • secondaryAudioShouldBeSilencedHint
  • SystemVersion (from version 2.1.0) : this has been added under the Hardware struct and represents the system version

What is Luminous?

Luminous is the son of ALSystemUtilities library which is no longer maintained (it still is my best library on github). I got ideas from that one and I wrote everything from scratch in Swift adding some new feature and designing it in a different way thanks to the differences between Objective-C and Swift.

Luminous is a big library that I like to consider an "Helper Library". It provides a lot of information about the system and has some features that can speed up significantly the development process.

It is composed by 3 parts : - system information (Luminous.System.<substruct>) - utils (some handy method like the email check) - custom app configuration

Luminous is no more composed by 3 parts as I think that a library has to serve one and one only purpose. I removed the Utils and AppConfiguration structs. I'm sorry for any kind of inconvenience this could cause to everyone is using it, but I think that it's the right choice.

System information

Here I provide tons of information about the system and you can access them using the notation Luminous.<substruct>.

There are 11 different substructs here from which you can get information :

  • Network
    • isConnectedViaWiFi
    • isConnectedViaCellular
    • SSID (deprecated on iOS 13)
  • Locale
    • currentLanguage
    • currentTimeZone
    • currentTimeZoneName
    • currentCountry
    • currentCurrency
    • currentCurrencySymbol
    • usesMetricSystem
    • decimalSeparator
  • Carrier
    • name
    • ISOCountryCode
    • mobileCountryCode
    • networkCountryCode (deprecated, use mobileNetworkCode instead)
    • mobileNetworkCode
    • allowsVOIP
  • Hardware
    • SystemVersion struct
    • processorsNumber
    • activeProcessorsNumber
    • physicalMemory
    • systemName
    • systemVersion (this is a SystemVersion struct from version 2.1.0, no more a String)
    • bootTime
    • isLowPowerModeEnabled
    • Screen
      • brightness
      • isScreenMirrored
      • nativeBounds
      • nativeScale
      • bounds
      • scale
      • snapshotOfCurrentView
    • Device
      • current (returns a Deviice object)
      • identifierForVendor
      • orientation
    • Accessory
      • count
      • connectedAccessoriesNames
      • connectedAccessories
    • Sensors
      • isAccelerometerAvailable
      • isGyroAvailable
      • isMagnetometerAvailable
      • isDeviceMotionAvailable
  • Audio
    • currentAudioOutputVolume
    • secondaryAudioShouldBeSilencedHint
  • Disk
    • totalSpace
    • freeSpace
    • usedSpace
    • totalSpaceInBytes
    • freeSpaceInBytes
    • usedSpaceInBytes
    • freeSpaceInPercentage
    • usedSpaceInPercentage
  • Battery
    • level
    • state
  • Application
    • version
    • build
    • completeAppVersion
    • clipboardString

Why Luminous?

I'm sure you're asking yourself "Why this library is called Luminous?". Well, stop think about it. The reason is simple : I like the word "Luminous", it gives me a unique feeling of something that is bright and awesome! So, I chose to call this lib in that way! But you can think that "Luminous is because this library will light up your way of development speeding up it and giving you more time for yourself", this is more philosophical.

Help

Any suggestion would be really appreciated. The library is designed using structs and static functions, but I'm still not sure of this choice. I'm struggling if the best is to use static functions or static vars, so this is the first point you can help me with.

Author

Andrea Mario Lufino, [email protected].

License

Luminous is available under the MIT license. See the LICENSE file for more info.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].