forked from othercat/uidevice-extension
-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathUIDevice-Hardware.h
151 lines (124 loc) · 4.38 KB
/
UIDevice-Hardware.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
/*
Erica Sadun, http://ericasadun.com
iPhone Developer's Cookbook, 6.x Edition
BSD License, Use at your own risk
*/
#import <UIKit/UIKit.h>
#define IFPGA_NAMESTRING @"iFPGA"
#define IPHONE_1_NAMESTRING @"iPhone 1"
#define IPHONE_3G_NAMESTRING @"iPhone 3G"
#define IPHONE_3GS_NAMESTRING @"iPhone 3GS"
#define IPHONE_4_NAMESTRING @"iPhone 4"
#define IPHONE_4S_NAMESTRING @"iPhone 4S"
#define IPHONE_5_NAMESTRING @"iPhone 5"
#define IPHONE_5C_NAMESTRING @"iPhone 5C"
#define IPHONE_5S_NAMESTRING @"iPhone 5S"
#define IPHONE_6_NAMESTRING @"iPhone 6"
#define IPHONE_6_PLUS_NAMESTRING @"iPhone 6 Plus"
#define IPHONE_6S_NAMESTRING @"iPhone 6S"
#define IPHONE_6S_PLUS_NAMESTRING @"iPhone 6S Plus"
#define IPHONE_SE_NAMESTRING @"iPhone SE"
#define IPHONE_7_NAMESTRING @"iPhone 7"
#define IPHONE_7_PLUS_NAMESTRING @"iPhone 7 Plus"
#define IPHONE_UNKNOWN_NAMESTRING @"Unknown iPhone"
#define IPOD_1_NAMESTRING @"iPod touch 1"
#define IPOD_2_NAMESTRING @"iPod touch 2"
#define IPOD_3_NAMESTRING @"iPod touch 3"
#define IPOD_4_NAMESTRING @"iPod touch 4"
#define IPOD_5_NAMESTRING @"iPod touch 5"
#define IPOD_UNKNOWN_NAMESTRING @"Unknown iPod"
#define IPAD_1_NAMESTRING @"iPad 1"
#define IPAD_2_NAMESTRING @"iPad 2"
#define THE_NEW_IPAD_NAMESTRING @"The new iPad"
#define IPAD_4G_NAMESTRING @"iPad 4G"
#define IPAD_AIR_NAMESTRING @"iPad Air (WiFi)"
#define IPAD_AIR_LTE_NAMESTRING @"iPad Air (LTE)"
#define IPAD_MINI_NAMESTRING @"iPad mini"
#define IPAD_UNKNOWN_NAMESTRING @"Unknown iPad"
#define APPLETV_2G_NAMESTRING @"Apple TV 2"
#define APPLETV_3G_NAMESTRING @"Apple TV 3"
#define APPLETV_4G_NAMESTRING @"Apple TV 4"
#define APPLETV_UNKNOWN_NAMESTRING @"Unknown Apple TV"
#define IOS_FAMILY_UNKNOWN_DEVICE @"Unknown iOS device"
#define IPHONE_SIMULATOR_NAMESTRING @"iPhone Simulator"
#define IPHONE_SIMULATOR_IPHONE_NAMESTRING @"iPhone Simulator"
#define IPHONE_SIMULATOR_IPAD_NAMESTRING @"iPad Simulator"
#define SIMULATOR_APPLETV_NAMESTRING @"Apple TV Simulator"
typedef enum {
UIDeviceUnknown,
UIDeviceiPhoneSimulator,
UIDeviceiPhoneSimulatoriPhone, // both regular and iPhone 4 devices
UIDeviceiPhoneSimulatoriPad,
UIDeviceSimulatorAppleTV,
UIDeviceiPhone1,
UIDeviceiPhone3G,
UIDeviceiPhone3GS,
UIDeviceiPhone4,
UIDeviceiPhone4GSM,
UIDeviceiPhone4GSMRevA,
UIDeviceiPhone4CDMA,
UIDeviceiPhone4S,
UIDeviceiPhone5,
UIDeviceiPhone5GSM,
UIDeviceiPhone5CDMA,
UIDeviceiPhone5CGSM,
UIDeviceiPhone5CGSMCDMA,
UIDeviceiPhone5SGSM,
UIDeviceiPhone5SGSMCDMA,
UIDeviceiPhone6,
UIDeviceiPhone6Plus,
UIDeviceiPhone6S,
UIDeviceiPhone6SPlus,
UIDeviceiPhoneSE,
UIDeviceiPhone7,
UIDeviceiPhone7Plus,
UIDeviceiPod1,
UIDeviceiPod2,
UIDeviceiPod3,
UIDeviceiPod4,
UIDeviceiPod5,
UIDeviceiPad1,
UIDeviceiPad2,
UIDeviceTheNewiPad,
UIDeviceiPad4G,
UIDeviceiPadAir,
UIDeviceiPadAirLTE,
UIDeviceiPadMini,
UIDeviceAppleTV2,
UIDeviceAppleTV3,
UIDeviceAppleTV4,
UIDeviceUnknowniPhone,
UIDeviceUnknowniPod,
UIDeviceUnknowniPad,
UIDeviceUnknownAppleTV,
UIDeviceIFPGA,
} UIDevicePlatform;
typedef enum {
UIDeviceFamilyiPhone,
UIDeviceFamilyiPod,
UIDeviceFamilyiPad,
UIDeviceFamilyAppleTV,
UIDeviceFamilyUnknown,
} UIDeviceFamily;
@interface UIDevice (Hardware)
- (NSString *) platform;
- (NSString *) hwmodel;
- (NSUInteger) platformType;
- (NSString *) platformString;
- (NSUInteger) cpuFrequency;
- (NSUInteger) busFrequency;
- (NSUInteger) cpuCount;
- (NSUInteger) totalMemory;
- (NSUInteger) userMemory;
- (NSNumber *) totalDiskSpace;
- (NSNumber *) freeDiskSpace;
- (NSString *) macaddress;
+ (NSUInteger) platformTypeForString:(NSString *)platform;
+ (NSString *) platformStringForType:(NSUInteger)platformType;
+ (NSString *) platformStringForPlatform:(NSString *)platform;
+ (BOOL) hasRetinaDisplay;
+ (NSString *) imageSuffixRetinaDisplay;
+ (BOOL) has4InchDisplay;
+ (NSString *) imageSuffix4InchDisplay;
- (UIDeviceFamily) deviceFamily;
@end