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
Lightweight Cocoa library for detecting the running device's model and screen size.

Lightweight Cocoa library for detecting the running device's model and screen size. With the newer  devices, developers have more work to do. This li

Sebastian Dobrincu 1.3k Nov 24, 2022
This is an POC for showing current Air Quality of different Cities in graphical format using webSocket

Air-Quality-Monitoring This is an POC for showing current Air Quality of different Cities in graphical format using webSocket. It Used danielgindi/Cha

null 1 Jun 14, 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
TapticEngine generates haptic feedback vibrations on iOS device.

TapticEngine Overview TapticEngine generates haptic feedback vibrations on iOS device. This library wrapps on UIImpactFeedbackGenerator, UISelectionFe

WorldDownTown 253 Oct 28, 2022
Grab kbsync dynamically from your jailbroken iOS device.

KbsyncTool Grab kbsync dynamically from your jailbroken iOS device. Usage Test1:~ root# kbsynctool -s 9000 [DEBUG] Did open IPv4 listening socket 3 [D

i_82 13 Oct 31, 2022
Easily take a photo or video or choose from library

FDTake Easily take a photo or video or choose from library ?? Author's tip jar: https://amazon.com/hz/wishlist/ls/EE78A23EEGQB Usage To run the exampl

William Entriken 322 Nov 30, 2022
Easily communicate between iOS/OSX devices using BLE

BluetoothKit Easily communicate between iOS devices using BLE. Background Apple mostly did a great job with the CoreBluetooth API, but because it enca

Rasmus Høhndorf Hummelmose 2.1k Dec 29, 2022
Library for iOS Camera API. Massively increase performance and ease of use within your next iOS Project.

CameraKit helps you add reliable camera to your app quickly. Our open source camera platform provides consistent capture results, service that scales,

CameraKit 628 Dec 27, 2022
iOS & OSX Bluetooth library for RxSwift

RxBluetoothKit is a Bluetooth library that makes interaction with BLE devices much more pleasant. It's backed by RxSwift and CoreBluetooth and it prov

Polidea 1.3k Dec 16, 2022
A better way to operate QR Code in Swift, support iOS, macOS, watchOS and tvOS.

EFQRCode is a lightweight, pure-Swift library for generating stylized QRCode images with watermark or icon, and for recognizing QRCode from images, in

EFPrefix 4.3k Jan 2, 2023
Instagram-like photo browser and a camera feature with a few line of code in Swift.

NOTE: This project is no longer maintained. We highly recommend YPImagePicker. Fusuma Fusuma is a Swift library that provides an Instagram-like photo

Yuta Akizuki 2.4k Dec 31, 2022
🛰 CoreLocation Made Easy - Efficient & Easy Location Tracker, IP Location, Gecoder, Geofence, Autocomplete, Beacon Ranging, Broadcaster and Visits Monitoring

Location Manager Made Easy SwiftLocation is a lightweight Swift Library that provides an easy way to work with location-related functionalities. No mo

Daniele Margutti 3.2k Dec 30, 2022
A camera view controller with custom image picker and image cropping.

ALCameraViewController A camera view controller with custom image picker and image cropping. Features Front facing and rear facing camera Simple and c

Alex Littlejohn 2k Dec 29, 2022
:mag_right: A simple and beautiful barcode scanner.

Description BarcodeScanner is a simple and beautiful wrapper around the camera with barcode capturing functionality and a great user experience. Barco

HyperRedink 1.6k Jan 3, 2023
Get the data from Accelerometer, Gyroscope and Magnetometer in only Two or a few lines of code.

Get the data from Accelerometer, Gyroscope and Magnetometer in only Two or a few lines of code. CoreMotion now made insanely simple :octocat: :satellite:

Muhammad Haroon Baig 1.1k Nov 16, 2022
Simply the fastest way to transmit data between iOS/tvOS and OSX

DarkLightning DarkLightning is a lightweight Swift library to allow data transmission between iOS/tvOS devices (Lightning port, Dock connector, USB-C)

Jens Meder 318 Nov 29, 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
WatchCon is a tool which enables creating easy connectivity between iOS and WatchOS.

WatchCon WatchCon is a tool which enables creating easy connectivity between iOS and WatchOS Requirements iOS 9.0+ / watchOS 2.0+ CocoaPods CocoaPods

Abdullah Selek 33 Sep 22, 2022
NFC Forum Well Known Type Data Parser for iOS11 and Core NFC

NFCNDEFParse NFC Forum Well Known Type Data Parser for iOS11 and Core NFC. Supports parsing of types: Text - NFCForum-TS-RTD_Text_1.0 2006-07-24 Uri -

Jari Kalinainen 14 Oct 21, 2022