Swift library to easily check the current device and some more info about it.

Overview

CI Status Version License Platform

Logo

Usage

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

let device = Deviice.current

device is a Deviice struct and has some properties:

device.identifier
device.type
device.modelName
device.size
device.connectivity
device.year
device.completeDeviceName

Requirements

This library works on iOS 8 or higher.

Installation

Deviice is available through CocoaPods and Swift Package Manager.

CocoaPods

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

pod "Deviice"

Swift Package Manager

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

Author

Andrea Mario Lufino, andrealufino.com.

License

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

Comments
  • iPhone SE Identifier raw value is incorrect

    iPhone SE Identifier raw value is incorrect

    The raw value for an iPhone SE is incorrect. The format for the identifiers is "iPhoneX,X" whereas the iPhone SE's raw value is "iPhone 8, 4" which is causing the library to crash when trying to create an SE model Screenshot 2022-04-21 at 14 56 28 .

    opened by SubParDev 3
  • Attribute Used Code

    Attribute Used Code

    Hey, I just saw a piece of your code that looks very familiar to me ...

    https://github.com/andrealufino/Deviice/blob/develop/Pod/Classes/Deviice.swift#L317-L323 https://github.com/dennisweissmann/DeviceKit/blob/master/Source/Device.swift#L177-L185

    It would be nice if you would attribute the used code to me, as per the license ;)

    Thanks!

    -Dennis

    opened by dennisweissmann 2
  • fixed incorrect iPhone13,3 (changed from pro max to pro), and added i…

    fixed incorrect iPhone13,3 (changed from pro max to pro), and added i…

    Based on data from https://www.theiphonewiki.com/wiki/Models, iPhone13,3 is incorrectly returning iPhone 12 Pro Max, should have been just iPhone 12 Pro. iPhone 13,4 was missing altogether so added it as Pro Max.

    opened by xC0der 1
  • What is going on with the release versions?

    What is going on with the release versions?

    Capture d’écran 2020-11-18 à 13 53 00

    It seems to be a very strange way to version the releases, and it seems to confuse Cocoapods as the outdated command says Deviice 1.3 -> 1.3 (latest version 1.21.0) while 1.3 has just been released and the previous one?

    opened by GregOriol 1
  • Complete Name should be descriptive even when new iPhones get released

    Complete Name should be descriptive even when new iPhones get released

    It took a while, but we recently noticed that the new iPhone X (and 8, 8+) would be named as "Unknown-Unknown-Unknown" when we use an old version of the library. In some cases this may be okay, when you check the type or model before submitting that name to the server. I think it would be a nice addition if the identifier is added to the complete name if the device is unknown in the current state of the library. This would prevent in some cases that the app needs to be updated just because new phones came out which are not on the list.

    I hope you agree to my addition

    opened by Sn0wfreezeDev 1
  • Adding new devices has become really complicated

    Adding new devices has become really complicated

    Hi @andrealufino,

    I'm keen to contribute when new devices are released, but today adding just 3 iPads was a really complicated task: there are changes to be made in 5 files and it's really hard to navigate, I've been mostly looking at "switch must be exhaustive" errors... to make it.

    Couldn't this be made easier? Maybe one file containing all the specs could be enough and the rest like Mapper/Groups could be calculated from the attributes?

    opened by GregOriol 1
Owner
Andrea Mario Lufino
Senior iOS Developer 👨🏻‍💻
Andrea Mario Lufino
Thingy - A modern device detection and querying library.

Thingy A modern device detection and querying library. Features Swift 5 support Modern syntax Documentation Device detection Device family detection D

Bojan Dimovski 58 Oct 5, 2022
Super-lightweight library to detect used device

Device.swift Super-lightweight library to detect used device Device.swift extends the UIDevice class by adding a property: var deviceType: DeviceType

Johannes Schickling 219 Nov 17, 2022
Launch JIT enabled iOS app with a second iOS device

Jitterbug This app uses libimobiledevice and WiFi pairing to use one iOS device to launch apps with the debugger on another iOS device. This "tethered

null 645 Jan 6, 2023
Inspect the iOS 15 App Activity Data directly on device.

AppActivityViewer About AppActivityViewer helps to inspect the iOS 15 App Activity Data easily on device. Choose App Activity at share sheet after cli

CJ 15 Mar 30, 2022
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.

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 1

Andrea Mario Lufino 324 Nov 27, 2022
Swift library to easily check the current device and some more info about it.

Usage To run the example project, clone the repo, and run pod install from the Example directory first. let device = Deviice.current device is a Devi

Andrea Mario Lufino 56 Nov 3, 2022
🚄ℹ️ Show current train info (speed, next station, arrival time) in macOS status bar

TrainStatusInfo This macOS application shows the current train status info in the status bar when connected to the trains hotspot. It uses the "intern

Niklas 10 Jul 16, 2022
Easily get the device's current location on iOS.

INTULocationManager makes it easy to get the device's current location and is currently heading on iOS. It is an Objective-C library that also works g

Intuit 2.6k Dec 21, 2022
In-App iOS Debugging Tool With Enhanced Logging, Networking Info, Crash reporting And More.

The debugger tool for iOS developer. Display logs, network request, device informations, crash logs while using the app. Easy accessible with its bubble head button ?? . Easy to integrate in any apps, to handle development or testing apps easier. First version, there is plenty of room for improvement.

Remi ROBERT 1.8k Dec 29, 2022
Dotzu In-App iOS Debugging Tool With Enhanced Logging, Networking Info, Crash reporting And More.

Dotzu In-App iOS Debugging Tool With Enhanced Logging, Networking Info, Crash reporting And More. The debugger tool for iOS developer. Display logs, n

Remi ROBERT 1.8k Jan 3, 2023
Simple App for European people who need to validate an EU VAT number, calculate your VAT, check current VAT rates in Europe

Simple App for European people who need to validate an EU VAT number, calculate your VAT, check current VAT rates in Europe. How many euros can you save if you freelanced in another country? You can find out! Make more money now!

Nikola Franičević 8 Dec 29, 2022
Light weight tool for detecting the current device and screen size written in swift.

Device detect the current  device model and screen size. Installation CocoaPods Device is available through CocoaPods. To install it, simply add the

Lucas Ortis 1.5k Dec 28, 2022
Light weight tool for detecting the current device and screen size written in swift.

Device detect the current  device model and screen size. Installation CocoaPods Device is available through CocoaPods. To install it, simply add the

Lucas Ortis 1.5k Dec 28, 2022
A tool to check which keychain items are available to an attacker once an iOS device has been jailbroken

Keychain Dumper Usage All that should be needed to use keychain_dumper is the binary that is checked in to the Keychain-Dumper Git repository. This bi

Patrick Toomey 1.2k Dec 28, 2022
A Swift Runtime library for viewing type info, and the dynamic getting and setting of properties.

Runtime is a Swift library to give you more runtime abilities, including getting type metadata, setting properties via reflection, and type constructi

Wes Wickwire 970 Jan 3, 2023
LabeldStepper - A native SwiftUI stepper that shows the current value and has more features

LabeledStepper A native SwiftUI Stepper that shows the value with more features!

Seyed Mojtaba Hosseini Zeidabadi 10 Nov 2, 2022
Simulate any device and settings on one simulator or device.

SwiftUI-Simulator Enables the following settings without settings or restarting the simulator or real device. Any device screen Light/Dark mode Locale

Yusuke Hosonuma 70 Dec 19, 2022
A realistic reflective shimmer to SwiftUI Views that uses device orientation. Position any View relative to device orientation to appear as if through a window or reflected by the screen.

A 3d rotation effect that uses Core Motion to allow SwiftUI views to appear projected in a specific direction and distance relative to the device in r

Ryan Lintott 235 Dec 30, 2022
Simple library to detect motion type (walking, running, automotive) and count users steps. This library will make motion detection much more easily.

SOMotionDetector Simple library to detect motion for iOS by arturdev . Based on location updates and acceleration. ###Requierments iOS > 6.0 Compatibl

Artur  Mkrtchyan 1.1k Nov 25, 2022
An alternative SwiftUI NavigationView implementing classic stack-based navigation giving also some more control on animations and programmatic navigation.

swiftui-navigation-stack An alternative SwiftUI NavigationView implementing classic stack-based navigation giving also some more control on animations

Matteo 753 Jan 2, 2023