forked from mattconnolly/uidevice-extension
-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathUIDevice-Hardware.h
136 lines (110 loc) · 3.84 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
/*
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_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,
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