@@ -103,19 +103,23 @@ def get_platform(device_os_name: str, is_emulator: bool) -> Platform:
103
103
IPADAIRGEN3 = "iPad Air (3rd gen)"
104
104
IPADAIRGEN4 = "iPad Air (4th gen)"
105
105
IPADAIRGEN5 = "iPad Air (5th gen)"
106
+ IPADAIRGEN6 = "iPad Air (6th gen)"
107
+ IPADAIRGEN7 = "iPad Air (7th gen)"
106
108
107
- IPADPRO12GEN1 = "iPad Pro (12.9-inch, 1st gen)"
108
- IPADPRO9GEN1 = "iPad Pro (9.7-inch, 1st gen)"
109
- IPADPRO12GEN2 = "iPad Pro (12.9-inch, 2nd gen)"
109
+ IPADPRO9GEN1 = "iPad Pro (9.7-inch)"
110
110
IPADPRO10 = "iPad Pro (10.5-inch)"
111
111
IPADPRO11GEN1 = "iPad Pro (11-inch, 1st gen)"
112
- IPADPRO12GEN3 = "iPad Pro (12.9-inch, 3rd gen)"
113
112
IPADPRO11GEN2 = "iPad Pro (11-inch, 2nd gen)"
114
- IPADPRO12GEN4 = "iPad Pro (12.9-inch, 4th gen)"
115
113
IPADPRO11GEN3 = "iPad Pro (11-inch, 3rd gen)"
116
114
IPADPRO11GEN4 = "iPad Pro (11-inch, 4th gen)"
115
+ IPADPRO11GEN5 = "iPad Pro (11 inch, 5th gen)"
116
+ IPADPRO12GEN1 = "iPad Pro (12.9-inch, 1st gen)"
117
+ IPADPRO12GEN2 = "iPad Pro (12.9-inch, 2nd gen)"
118
+ IPADPRO12GEN3 = "iPad Pro (12.9-inch, 3rd gen)"
119
+ IPADPRO12GEN4 = "iPad Pro (12.9-inch, 4th gen)"
117
120
IPADPRO12GEN5 = "iPad Pro (12.9-inch, 5th gen)"
118
- IPADPRO12GEN6 = "iPad Pro (12.9-inch 6th gen)"
121
+ IPADPRO12GEN6 = "iPad Pro (12.9-inch, 6th gen)"
122
+ IPADPRO12GEN7 = "iPad Pro (12.9-inch, 7th gen)"
119
123
120
124
IPADMINIGEN1 = "iPad mini (1st gen)"
121
125
IPADMINI2 = "iPad mini 2"
@@ -130,15 +134,21 @@ def get_platform(device_os_name: str, is_emulator: bool) -> Platform:
130
134
APPLEWATCHSERIES3 = "Apple Watch Series 3"
131
135
APPLEWATCHSERIES4 = "Apple Watch Series 4"
132
136
APPLEWATCHSERIES5 = "Apple Watch Series 5"
133
- APPLEWATCHSE = "Apple Watch SE"
134
137
APPLEWATCHSERIES6 = "Apple Watch Series 6"
138
+ APPLEWATCHSERIES7 = "Apple Watch Series 7"
139
+ APPLEWATCHSERIES8 = "Apple Watch Series 8"
140
+ APPLEWATCHSERIES9 = "Apple Watch Series 9"
141
+ APPLEWATCHSERIES10 = "Apple Watch Series 10"
142
+ APPLEWATCHSE1 = "Apple Watch SE (1st gen)"
143
+ APPLEWATCHSE2 = "Apple Watch SE (2nd gen)"
135
144
136
145
APPLETVGEN1 = "Apple TV (1st gen)"
137
146
APPLETVGEN2 = "Apple TV (2nd gen)"
138
147
APPLETVGEN3 = "Apple TV (3rd gen)"
139
148
140
- # https:#www.theiphonewiki. com/wiki/Models
149
+ # see https://theapplewiki. com/wiki/models
141
150
IOS_MODELS : dict [str , str ] = {
151
+ # iPhone
142
152
"iPhone1,1" : "iPhone (1st gen)" ,
143
153
"iPhone1,2" : "iPhone 3G" ,
144
154
"iPhone2,1" : "iPhone 3GS" ,
@@ -192,13 +202,19 @@ def get_platform(device_os_name: str, is_emulator: bool) -> Platform:
192
202
"iPhone15,5" : "iPhone 15 Plus" ,
193
203
"iPhone16,1" : "iPhone 15 Pro" ,
194
204
"iPhone16,2" : "iPhone 15 Pro Max" ,
205
+ "iPhone17,1" : "iPhone 16 Pro" ,
206
+ "iPhone17,2" : "iPhone 16 Pro Max" ,
207
+ "iPhone17,3" : "iPhone 16" ,
208
+ "iPhone17,4" : "iPhone 16 Plus" ,
209
+ # iPod Touch
195
210
"iPod1,1" : "iPod touch (1st gen)" ,
196
211
"iPod2,1" : "iPod touch (2nd gen)" ,
197
212
"iPod3,1" : "iPod touch (3rd gen)" ,
198
213
"iPod4,1" : "iPod touch (4th gen)" ,
199
214
"iPod5,1" : "iPod touch (5th gen)" ,
200
215
"iPod7,1" : "iPod touch (6th gen)" ,
201
216
"iPod9,1" : "iPod touch (7th gen)" ,
217
+ # iPad
202
218
"iPad1,1" : "iPad (1st gen)" ,
203
219
"iPad2,1" : IPAD2 ,
204
220
"iPad2,2" : IPAD2 ,
@@ -220,6 +236,7 @@ def get_platform(device_os_name: str, is_emulator: bool) -> Platform:
220
236
"iPad11,7" : IPADGEN8 ,
221
237
"iPad12,1" : IPADGEN9 ,
222
238
"iPad12,2" : IPADGEN9 ,
239
+ # iPad Air
223
240
"iPad4,1" : IPADAIRGEN1 ,
224
241
"iPad4,2" : IPADAIRGEN1 ,
225
242
"iPad4,3" : IPADAIRGEN1 ,
@@ -231,10 +248,15 @@ def get_platform(device_os_name: str, is_emulator: bool) -> Platform:
231
248
"iPad13,2" : IPADAIRGEN4 ,
232
249
"iPad13,16" : IPADAIRGEN5 ,
233
250
"iPad13,17" : IPADAIRGEN5 ,
251
+ "iPad14,8" : IPADAIRGEN6 ,
252
+ "iPad14,9" : IPADAIRGEN6 ,
253
+ "iPad14,10" : IPADAIRGEN7 ,
254
+ "iPad14,11" : IPADAIRGEN7 ,
255
+ # iPad Pro
234
256
"iPad6,7" : IPADPRO12GEN1 ,
235
- "iPad6,8" : IPADPRO12GEN1 ,
236
257
"iPad6,3" : IPADPRO9GEN1 ,
237
258
"iPad6,4" : IPADPRO9GEN1 ,
259
+ "iPad6,8" : IPADPRO12GEN1 ,
238
260
"iPad7,1" : IPADPRO12GEN2 ,
239
261
"iPad7,2" : IPADPRO12GEN2 ,
240
262
"iPad7,3" : IPADPRO10 ,
@@ -259,6 +281,15 @@ def get_platform(device_os_name: str, is_emulator: bool) -> Platform:
259
281
"iPad13,9" : IPADPRO12GEN5 ,
260
282
"iPad13,10" : IPADPRO12GEN5 ,
261
283
"iPad13,11" : IPADPRO12GEN5 ,
284
+ "iPad14,3" : IPADPRO11GEN4 ,
285
+ "iPad14,4" : IPADPRO11GEN4 ,
286
+ "iPad14,5" : IPADPRO12GEN6 ,
287
+ "iPad14,6" : IPADPRO12GEN6 ,
288
+ "iPad16,3" : IPADPRO11GEN5 ,
289
+ "iPad16,4" : IPADPRO11GEN5 ,
290
+ "iPad16,5" : IPADPRO12GEN7 ,
291
+ "iPad16,6" : IPADPRO12GEN7 ,
292
+ # iPad Mini
262
293
"iPad2,5" : IPADMINIGEN1 ,
263
294
"iPad2,6" : IPADMINIGEN1 ,
264
295
"iPad2,7" : IPADMINIGEN1 ,
@@ -276,10 +307,7 @@ def get_platform(device_os_name: str, is_emulator: bool) -> Platform:
276
307
"iPad13,19" : IPADGEN10 ,
277
308
"iPad14,1" : IPADMINIGEN6 ,
278
309
"iPad14,2" : IPADMINIGEN6 ,
279
- "iPad14,3" : IPADPRO11GEN4 ,
280
- "iPad14,4" : IPADPRO11GEN4 ,
281
- "iPad14,5" : IPADPRO12GEN6 ,
282
- "iPad14,6" : IPADPRO12GEN6 ,
310
+ # Apple Watch
283
311
"Watch1,1" : APPLEWATCHGEN1 ,
284
312
"Watch1,2" : APPLEWATCHGEN1 ,
285
313
"Watch2,6" : APPLEWATCHSERIES1 ,
@@ -298,12 +326,37 @@ def get_platform(device_os_name: str, is_emulator: bool) -> Platform:
298
326
"Watch5,2" : APPLEWATCHSERIES5 ,
299
327
"Watch5,3" : APPLEWATCHSERIES5 ,
300
328
"Watch5,4" : APPLEWATCHSERIES5 ,
301
- "Watch5,9" : APPLEWATCHSE ,
302
- "Watch5,10" : APPLEWATCHSE ,
303
- "Watch5,11" : APPLEWATCHSE ,
304
- "Watch5,12" : APPLEWATCHSE ,
305
329
"Watch6,3" : APPLEWATCHSERIES6 ,
306
330
"Watch6,4" : APPLEWATCHSERIES6 ,
331
+ "Watch6,6" : APPLEWATCHSERIES7 ,
332
+ "Watch6,7" : APPLEWATCHSERIES7 ,
333
+ "Watch6,8" : APPLEWATCHSERIES7 ,
334
+ "Watch6,9" : APPLEWATCHSERIES7 ,
335
+ "Watch6,14" : APPLEWATCHSERIES8 ,
336
+ "Watch6,15" : APPLEWATCHSERIES8 ,
337
+ "Watch6,16" : APPLEWATCHSERIES8 ,
338
+ "Watch6,17" : APPLEWATCHSERIES8 ,
339
+ "Watch7,1" : APPLEWATCHSERIES9 ,
340
+ "Watch7,2" : APPLEWATCHSERIES9 ,
341
+ "Watch7,3" : APPLEWATCHSERIES9 ,
342
+ "Watch7,4" : APPLEWATCHSERIES9 ,
343
+ "Watch7,8" : APPLEWATCHSERIES10 ,
344
+ "Watch7,9" : APPLEWATCHSERIES10 ,
345
+ "Watch7,10" : APPLEWATCHSERIES10 ,
346
+ "Watch7,11" : APPLEWATCHSERIES10 ,
347
+ # Apple Watch SE
348
+ "Watch5,9" : APPLEWATCHSE1 ,
349
+ "Watch5,10" : APPLEWATCHSE1 ,
350
+ "Watch5,11" : APPLEWATCHSE1 ,
351
+ "Watch5,12" : APPLEWATCHSE1 ,
352
+ "Watch6,10" : APPLEWATCHSE2 ,
353
+ "Watch6,11" : APPLEWATCHSE2 ,
354
+ "Watch6,12" : APPLEWATCHSE2 ,
355
+ "Watch6,13" : APPLEWATCHSE2 ,
356
+ # Apple Watch Ultra
357
+ "Watch6,18" : "Apple Watch Ultra (1st gen)" ,
358
+ "Watch7,5" : "Apple Watch Ultra (2nd gen)" ,
359
+ # Apple TV
307
360
"AppleTV1,1" : "Apple TV (1st gen)" ,
308
361
"AppleTV2,1" : "Apple TV (2nd gen)" ,
309
362
"AppleTV3,1" : APPLETVGEN3 ,
@@ -315,21 +368,6 @@ def get_platform(device_os_name: str, is_emulator: bool) -> Platform:
315
368
"x86_64" : "iOS Simulator (x86_64)" ,
316
369
}
317
370
318
-
319
- def ios_human_readable_model_name (model : str ) -> str :
320
- if model in IOS_MODELS :
321
- return IOS_MODELS [model ]
322
- if model .startswith ("iPhone" ):
323
- return "Unknown iPhone"
324
- if model .startswith ("iPad" ):
325
- return "Unknown iPad"
326
- if model .startswith ("AppleTV" ):
327
- return "Unknown Apple TV"
328
- if model .startswith ("Watch" ):
329
- return "Unknown Apple Watch"
330
- return "Unknown iOS Device"
331
-
332
-
333
371
CPU1 = (520 , 520 )
334
372
CPU2 = (1000 , 1000 )
335
373
CPU3 = (1300 , 1300 )
0 commit comments