用 iOS-System-Services 框架获取iOS设备所用的设备信息

参考资料地址

https://github.com/Shmoopi/iOS-System-Services

百度云盘下载地址

http://pan.baidu.com/s/1c05ot1m

This is a singleton class to gather all available information about a device. It gives you over 75 methods to determine everything about a device, including:

  • Hardware & Network Information
  • Battery Usage
  • Accelerometer Data
  • Disk Usage
  • Running Processes
  • Memory Usage
  • And a complete UDID replacement based on unchanging device information.

这是一个单例模式的类,收集了一个设备所有的信息,他提供了75个方法来获取设备的信息

  • 硬件以及网络信息
  • 电池使用情况
  • 处理器信息
  • 磁盘使用信息
  • 运行中的进程
  • 内存使用情况
  • 添加了一个完全的UDID用以替换基于不会改变的设备信息(??)

本人已经过测试,除了一个方法 AudioSessionGetProperty 要被弃用了以外,使用非常方便,可以检测越狱或者不越狱.

1.将文件夹 System Services 拖拽至工程项目中

2.引入以下框架

3.项目工程中引入头文件 SystemServices.h

4.简单例子代码(本人在越狱的iOS7 touch 7.0.4 设备上测试过)

    NSLog(@"===========================================================");
    
    SystemServices *sysInfo = [SystemServices sharedServices];
    
    NSLog(@"%@", sysInfo.allSystemInformation);
    
    NSLog(@"===========================================================");

5.NSLog信息如下

2014-02-27 10:16:59.376 testMyPhone[8877:60b] ===========================================================
2014-02-27 10:17:08.767 testMyPhone[8877:60b] {
    AccessoriesAttached = No;
    "ActiveMemory (Formatted)" = "21.134186";
    "ActiveMemory (Not Formatted)" = "108.207031";
    ApplicationVersion = "1.0";
    BatteryLevel = "100.000000";
    CFUUID = "AC0E443C-C1A3-4B64-B8C9-224726D69A9D";
    CarrierAllowsVOIP = No;
    CarrierCountry = CN;
    CarrierISOCountryCode = Unknown;
    CarrierMobileCountryCode = Unknown;
    CarrierMobileNetworkCode = Unknown;
    CarrierName = Unknown;
    CellBroadcastAddress = Unknown;
    CellIPAddress = Unknown;
    CellMACAddress = Unknown;
    CellNetmaskAddress = Unknown;
    Charging = Yes;
    ClipboardContent = "U6210U957f";
    ConnectedToCellNetwork = No;
    ConnectedToWiFi = Yes;
    Country = "zh_CN";
    Currency = "Uffe5";
    CurrentIPAddress = "192.168.60.104";
    CurrentMACAddress = "02:00:00:00:00:00";
    DebuggerAttached = No;
    DeviceModel = "iPod touch";
    DeviceName = Phoenix;
    DeviceOrientation = 1;
    DeviceSignature = 7568320101100111ZHAS238328512SS;
    DiskSpace = "28.01 GB";
    "External IP Address" = "124.200.223.109";
    "FreeDiskSpace (Formatted)" = "28%";
    "FreeDiskSpace (Not Formatted)" = "7.98 GB";
    "FreeMemory (Formatted)" = "12.732697";
    "FreeMemory (Not Formatted)" = "65.191406";
    FullyCharged = Yes;
    HeadphonesAttached = Yes;
    "InactiveMemory (Formatted)" = "7.167816";
    "InactiveMemory (Not Formatted)" = "36.699219";
    Jailbroken = 3429542;
    Language = "zh-Hans";
    LongDiskSpace = 30076624896;
    LongFreeDiskSpace = 8571482112;
    MultitaskingEnabled = Yes;
    NumberActiveProcessors = 2;
    NumberAttachedAccessories = 0;
    NumberProcessors = 2;
    ParentPID = 8875;
    PluggedIn = Yes;
    ProcessID = 8877;
    ProcessName = testMyPhone;
    ProcessStatus = 2;
    ProcessesInformation =     (
                {
            Flags = 512;
            Name = "kernel_task";
            PID = 0;
            ParentID = "-1";
            Priority = 21;
            StartDate = "2014-02-20 23:45:27 +0000";
            Status = 2;
        },
                {
            Flags = "-2147467264";
            Name = launchd;
            PID = 1;
            ParentID = "-1";
            Priority = 24;
            StartDate = "2014-02-20 23:45:27 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = UserEventAgent;
            PID = 19;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-20 23:45:36 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = BTServer;
            PID = 21;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-20 23:45:36 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = SpringBoard;
            PID = 26;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-20 23:45:36 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = aggregated;
            PID = 27;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-20 23:45:36 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = backboardd;
            PID = 32;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-20 23:45:36 +0000";
            Status = 2;
        },
                {
            Flags = 16392;
            Name = configd;
            PID = 34;
            ParentID = 1;
            Priority = 24;
            StartDate = "2014-02-20 23:45:36 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = "fairplayd.O2";
            PID = 37;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-20 23:45:36 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = fseventsd;
            PID = 38;
            ParentID = 1;
            Priority = 50;
            StartDate = "2014-02-20 23:45:36 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = iaptransportd;
            PID = 39;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-20 23:45:36 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = identityservices;
            PID = 40;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-20 23:45:36 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = imagent;
            PID = 41;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-20 23:45:36 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = locationd;
            PID = 42;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-20 23:45:36 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = mDNSResponder;
            PID = 44;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-20 23:45:36 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = mediaserverd;
            PID = 47;
            ParentID = 1;
            Priority = 24;
            StartDate = "2014-02-20 23:45:36 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = lockdownd;
            PID = 54;
            ParentID = 1;
            Priority = 24;
            StartDate = "2014-02-20 23:45:36 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = powerd;
            PID = 62;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-20 23:45:36 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = sharingd;
            PID = 65;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-20 23:45:36 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = syslogd;
            PID = 67;
            ParentID = 1;
            Priority = 24;
            StartDate = "2014-02-20 23:45:36 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = wifid;
            PID = 72;
            ParentID = 1;
            Priority = 24;
            StartDate = "2014-02-20 23:45:36 +0000";
            Status = 2;
        },
                {
            Flags = 16640;
            Name = baiduimd;
            PID = 75;
            ParentID = 1;
            Priority = 24;
            StartDate = "2014-02-20 23:45:36 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = notifyd;
            PID = 131;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-20 23:45:37 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = distnoted;
            PID = 140;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-20 23:45:38 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = networkd;
            PID = 151;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-20 23:45:39 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = apsd;
            PID = 163;
            ParentID = 1;
            Priority = 24;
            StartDate = "2014-02-20 23:45:42 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = tccd;
            PID = 188;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-20 23:45:44 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = touchsetupd;
            PID = 211;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-20 23:46:00 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = filecoordination;
            PID = 240;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-20 23:46:24 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = calaccessd;
            PID = 257;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-20 23:46:34 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = dataaccessd;
            PID = 423;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-21 00:07:06 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = kbd;
            PID = 542;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-21 02:52:05 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = mediaremoted;
            PID = 594;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-21 03:25:37 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = EscrowSecurityAl;
            PID = 1199;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-21 15:47:13 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = MobileMail;
            PID = 2161;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-22 11:19:28 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = itunesstored;
            PID = 3814;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-23 23:36:45 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = CVMServer;
            PID = 4639;
            ParentID = 1;
            Priority = 40;
            StartDate = "2014-02-24 09:11:07 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = gamed;
            PID = 6872;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-25 13:51:48 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = DuetLST;
            PID = 7039;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-25 14:21:38 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = securityd;
            PID = 7041;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-25 14:21:39 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = "networkd_privile";
            PID = 7051;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-25 14:21:44 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = geod;
            PID = 8440;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-26 23:09:21 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = lsd;
            PID = 8450;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-26 23:09:33 +0000";

            Status = 2;
        },
                {
            Flags = 16384;
            Name = installd;
            PID = 8452;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-26 23:09:33 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = sandboxd;
            PID = 8454;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-26 23:10:38 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = itunescloudd;
            PID = 8457;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-26 23:10:51 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = CommCenterClassi;
            PID = 8459;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-26 23:10:51 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = medialibraryd;
            PID = 8467;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-26 23:10:55 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = accountsd;
            PID = 8477;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-26 23:11:20 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = aosnotifyd;
            PID = 8489;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-26 23:12:39 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = MobileGestaltHel;
            PID = 8496;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-26 23:12:41 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = mobileassetd;
            PID = 8506;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-26 23:12:50 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = "com.apple.Stream";
            PID = 8514;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-26 23:12:59 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = AppleIDAuthAgent;
            PID = 8518;
            ParentID = 1;
            Priority = 24;
            StartDate = "2014-02-26 23:13:07 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = librariand;
            PID = 8522;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-26 23:13:08 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = wirelessproxd;
            PID = 8540;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-26 23:16:11 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = routined;
            PID = 8546;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-26 23:16:57 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = storebookkeeperd;
            PID = 8550;
            ParentID = 1;
            Priority = 24;
            StartDate = "2014-02-26 23:22:10 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = timed;
            PID = 8554;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-26 23:24:48 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = adid;
            PID = 8563;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-26 23:38:35 +0000";
            Status = 2;
        },
                {
            Flags = 16640;
            Name = xpcd;
            PID = 8580;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-26 23:52:10 +0000";
            Status = 2;
        },
                {
            Flags = 16640;
            Name = IMDPersistenceAg;
            PID = 8582;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-26 23:52:11 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = ptpd;
            PID = 8623;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-27 00:39:14 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = afcd;
            PID = 8625;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-27 00:39:14 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = "mobile_installat";
            PID = 8631;
            ParentID = 1;
            Priority = 24;
            StartDate = "2014-02-27 00:39:15 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = "notification_pro";
            PID = 8633;
            ParentID = 1;
            Priority = 40;
            StartDate = "2014-02-27 00:39:15 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = "syslog_relay";
            PID = 8637;
            ParentID = 1;
            Priority = 24;
            StartDate = "2014-02-27 00:39:15 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = XcodeDeviceMonit;
            PID = 8639;
            ParentID = 1;
            Priority = 24;
            StartDate = "2014-02-27 00:39:15 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = ubd;
            PID = 8643;
            ParentID = 1;
            Priority = 24;
            StartDate = "2014-02-27 00:39:16 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = voiced;
            PID = 8664;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-27 00:53:37 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = SystemServicesDe;
            PID = 8862;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-27 02:14:43 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = syncdefaultsd;
            PID = 8871;
            ParentID = 1;
            Priority = 32;
            StartDate = "2014-02-27 02:16:43 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = debugserver;
            PID = 8875;
            ParentID = 1;
            Priority = 24;
            StartDate = "2014-02-27 02:16:44 +0000";
            Status = 2;
        },
                {
            Flags = 18432;
            Name = testMyPhone;
            PID = 8877;
            ParentID = 8875;
            Priority = 24;
            StartDate = "2014-02-27 02:16:44 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = assistantd;
            PID = 8878;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-27 02:16:54 +0000";
            Status = 2;
        },
                {
            Flags = 16384;
            Name = "assistant_servic";
            PID = 8882;
            ParentID = 1;
            Priority = 17;
            StartDate = "2014-02-27 02:16:56 +0000";
            Status = 2;
        }
    );
    ProcessorBusSpeed = 995;
    ProcessorSpeed = 1026;
    ProximitySensorEnabled = No;
    "PurgableMemory (Formatted)" = "2.330780";
    "PurgableMemory (Not Formatted)" = "11.933594";
    ScreenBrightness = "74.338623";
    ScreenHeight = 568;
    ScreenWidth = 320;
    SystemDeviceType = "iPod5,1";
    "SystemDeviceType Formatted" = Unknown;
    SystemName = "iPhone OS";
    SystemVersion = "7.0.4";
    TimeZone = "Asia/Shanghai";
    TotalMemory = "512.000000";
    UniqueID = 6HH135102210002S;
    "Uptime (dd hh mm)" = "3 18 35";
    "UsedDiskSpace (Formatted)" = "71%";
    "UsedDiskSpace (Not Formatted)" = "20.03 GB";
    "UsedMemory (Formatted)" = "44.140625";
    "UsedMemory (Not Formatted)" = "226.660156";
    WiFiBroadcastAddress = "192.168.60.255";
    WiFiIPAddress = "192.168.60.104";
    WiFiMACAddress = "02:00:00:00:00:00";
    WiFiNetmaskAddress = "255.255.255.0";
    "WiredMemory (Formatted)" = "15.967560";
    "WiredMemory (Not Formatted)" = "81.753906";
}
2014-02-27 10:17:08.809 testMyPhone[8877:60b] ===========================================================

原文地址:https://www.cnblogs.com/YouXianMing/p/3570954.html