Important facts about commercial licenses

  • Licenses are perpetual. They do not expire and do not need to be renewed.
  • Licenses can be upgraded. You can upgrade to a more expensive license later paying only the difference in cost.
  • Pay attention to the distribution type - Hosted (sites / servers), binary (applications) or source (includes all the others). Choose according to your needs (more below).
  • All licenses allow commercial use unless otherwise indicated.
  • Read the full license by clicking on the icon.
  • Read more about licenses in our handy license guide.
Free

MIT license

The MIT license is an
open-source license.
You need to log-in or create an account
  • Create an account
  • Log-in
  • Please use your real name.
  • Account activation link will be sent to this address.
  • Minimum 8 characters

Clicking this button confirms you read and agreed to the terms of use and privacy policy.

(10 ratings)

iOS System Services

iOS System Services
Developed by Shmoopi LLC, Released Sep 25, 2012

System Services is a class to gather all available information about a device. Over 75 methods to determine everything from: System uptime, Network Information, Battery Usage, Accelerometer Data, Disk Usage, Running Processes, Memory Usage, and a complete UDID replacement based on unchanging device information.

Objective-C

Tags: device , information , services , system

System Services gathers all available information about a device, allowing developers complete access to device information without any hassle. Simply import the System Services Header, call whichever method/s you want, and find the information. It's that easy!

Back to top

Installation

Drag and drop the System Services Folder into your project. #import "SystemServices.h" into your code and get all the system information you want.

Back to top

Supported SDK's

Supported: iOS 3.0 - 6.0

Tested working on iOS 5.0 - iOS 6.0

Back to top

Usage

// System Information

// Get all System Information (All Methods)
+ (NSDictionary *)allSystemInformation;

/* Hardware Information */

// System Uptime (dd hh mm)
+ (NSString *)systemUptime;

// Model of Device
+ (NSString *)deviceModel;

// Device Name
+ (NSString *)deviceName;

// System Name
+ (NSString *)systemName;

// System Version
+ (NSString *)systemVersion;

// System Device Type (iPhone1,0) (Formatted = iPhone 1)
+ (NSString *)systemDeviceTypeFormatted:(BOOL)formatted;

// Get the Screen Width (X)
+ (NSInteger)screenWidth;

// Get the Screen Height (Y)
+ (NSInteger)screenHeight;

// Multitasking enabled?
+ (BOOL)multitaskingEnabled;

// Proximity sensor enabled?
+ (BOOL)proximitySensorEnabled;

// Debugger Attached?
+ (BOOL)debuggerAttached;

// Plugged In?
+ (BOOL)pluggedIn;

/* Jailbreak Check */

// Jailbroken?
+ (BOOL)jailbroken;

/* Processor Information */

// Number of processors
+ (NSInteger)numberProcessors;

// Number of Active Processors
+ (NSInteger)numberActiveProcessors;

// Processor Speed in MHz
+ (NSInteger)processorSpeed;

// Processor Bus Speed in MHz
+ (NSInteger)processorBusSpeed;

/* Accessory Information */

// Are any accessories attached?
+ (BOOL)accessoriesAttached;

// Are headphone attached?
+ (BOOL)headphonesAttached;

// Number of attached accessories
+ (NSInteger)numberAttachedAccessories;

// Name of attached accessory/accessories (seperated by , comma's)
+ (NSString *)nameAttachedAccessories;

/* Carrier Information */

// Carrier Name
+ (NSString *)carrierName;

// Carrier Country
+ (NSString *)carrierCountry;

// Carrier Mobile Country Code
+ (NSString *)carrierMobileCountryCode;

// Carrier ISO Country Code
+ (NSString *)carrierISOCountryCode;

// Carrier Mobile Network Code
+ (NSString *)carrierMobileNetworkCode;

// Carrier Allows VOIP
+ (BOOL)carrierAllowsVOIP;

/* Battery Information */

// Battery Level
+ (float)batteryLevel;

// Charging?
+ (BOOL)charging;

// Fully Charged?
+ (BOOL)fullyCharged;

/* Network Information */

// Get Current IP Address
+ (NSString *)currentIPAddress;

// Get Current MAC Address
+ (NSString *)currentMACAddress;

// Get Cell IP Address
+ (NSString *)cellIPAddress;

// Get Cell MAC Address
+ (NSString *)cellMACAddress;

// Get Cell Netmask Address
+ (NSString *)cellNetmaskAddress;

// Get Cell Broadcast Address
+ (NSString *)cellBroadcastAddress;

// Get WiFi IP Address
+ (NSString *)wiFiIPAddress;

// Get WiFi MAC Address
+ (NSString *)wiFiMACAddress;

// Get WiFi Netmask Address
+ (NSString *)wiFiNetmaskAddress;

// Get WiFi Broadcast Address
+ (NSString *)wiFiBroadcastAddress;

// Connected to WiFi?
+ (BOOL)connectedToWiFi;

// Connected to Cellular Network?
+ (BOOL)connectedToCellNetwork;

/* Process Information */

// Process ID
+ (int)processID;

// Process Name
+ (NSString *)processName;

// Process Status
+ (int)processStatus;

// Parent Process ID
+ (int)parentPID;

// Parent ID for a certain PID
+ (int)parentPIDForProcess:(int)pid;

// List of process information including PID's, Names, PPID's, and Status'
+ (NSMutableArray *)processesInformation;

/* Disk Information */

// Total Disk Space
+ (NSString *)diskSpace;

// Total Free Disk Space
+ (NSString *)freeDiskSpace:(BOOL)inPercent;

// Total Used Disk Space
+ (NSString *)usedDiskSpace:(BOOL)inPercent;

// Get the total disk space in long format
+ (long long)longDiskSpace;

// Get the total free disk space in long format
+ (long long)longFreeDiskSpace;

/* Memory Information */

// Total Memory
+ (double)totalMemory;

// Free Memory
+ (double)freeMemory:(BOOL)inPercent;

// Used Memory
+ (double)usedMemory:(BOOL)inPercent;

// Available Memory
+ (double)availableMemory:(BOOL)inPercent;

// Active Memory
+ (double)activeMemory:(BOOL)inPercent;

// Inactive Memory
+ (double)inactiveMemory:(BOOL)inPercent;

// Wired Memory
+ (double)wiredMemory:(BOOL)inPercent;

// Purgable Memory
+ (double)purgableMemory:(BOOL)inPercent;

/* Accelerometer Information */

// Device Orientation
+ (UIDeviceOrientation)deviceOrientation;

// Accelerometer X Value
+ (float)accelerometerXValue;

// Accelerometer Y Value
+ (float)accelerometerYValue;

// Accelerometer Z Value
+ (float)accelerometerZValue;

/* Localization Information */

// Country
+ (NSString *)country;

// Locale
+ (NSString *)locale;

// Language
+ (NSString *)language;

// TimeZone
+ (NSString *)timeZone;

// Currency Symbol
+ (NSString *)currency;

/* Application Information */

// Application Version
+ (NSString *)applicationVersion;

// Clipboard Content
+ (NSString *)clipboardContent;

/* Universal Unique Identifiers */

// Unique ID
+ (NSString *)uniqueID;

// Device Signature
+ (NSString *)deviceSignature;

// CFUUID
+ (NSString *)cfuuid;

An example demo project is included with the download.

View all 10 reviews »

User Reviews

  • Pradyumn Nukala 4 weeks ago
    very cool
    Flag
    Was this helpful? Yes No
  • robin 1 month ago
    It's good!
    Flag
    Was this helpful? Yes No
  • 1 of 1 people found this review helpful Carlo Trotti 2 months ago
    Extensive system informations, without any additional cost ! Good job !
    Flag
    Was this helpful? Yes No
Read all 8 comments »

Questions & Comments


Or enter your name and Email
  • Alberto Iglesias 6 months ago
    The problem was the internet explorer, I download throught Mac and I did. Thanks
  • Alberto Iglesias 6 months ago
    Dear NIck, I can“t download the iOS System Services Component, I connect the twitter, share but nothing, appear to me ERROR 404 on binpress page, can you send to me? Thank You
  • Mark Teicher 7 months ago
    is there a simple example available, broken down by information in the system dictionary instead of using a progress bar and NSArray
    • Nick Kramer Developer 6 months ago
      Great question! Not yet, we are working on updating our example to provide better documentation. In the meantime, most of the methods are pretty self explanatory and come with comments to help explain their purpose. Hold tight for an update!
You must be logged-in to vote. Log-in to your account or register now.