Skip to content

Instantly share code, notes, and snippets.

@adamawolf
Last active December 12, 2024 12:23
Show Gist options
  • Save adamawolf/3048717 to your computer and use it in GitHub Desktop.
Save adamawolf/3048717 to your computer and use it in GitHub Desktop.
List of Apple's mobile device codes types a.k.a. machine ids (e.g. `iPhone1,1`, `Watch1,1`, etc.) and their matching product names
i386 : iPhone Simulator
x86_64 : iPhone Simulator
arm64 : iPhone Simulator
iPhone1,1 : iPhone
iPhone1,2 : iPhone 3G
iPhone2,1 : iPhone 3GS
iPhone3,1 : iPhone 4
iPhone3,2 : iPhone 4 GSM Rev A
iPhone3,3 : iPhone 4 CDMA
iPhone4,1 : iPhone 4S
iPhone5,1 : iPhone 5 (GSM)
iPhone5,2 : iPhone 5 (GSM+CDMA)
iPhone5,3 : iPhone 5C (GSM)
iPhone5,4 : iPhone 5C (Global)
iPhone6,1 : iPhone 5S (GSM)
iPhone6,2 : iPhone 5S (Global)
iPhone7,1 : iPhone 6 Plus
iPhone7,2 : iPhone 6
iPhone8,1 : iPhone 6s
iPhone8,2 : iPhone 6s Plus
iPhone8,4 : iPhone SE (GSM)
iPhone9,1 : iPhone 7
iPhone9,2 : iPhone 7 Plus
iPhone9,3 : iPhone 7
iPhone9,4 : iPhone 7 Plus
iPhone10,1 : iPhone 8
iPhone10,2 : iPhone 8 Plus
iPhone10,3 : iPhone X Global
iPhone10,4 : iPhone 8
iPhone10,5 : iPhone 8 Plus
iPhone10,6 : iPhone X GSM
iPhone11,2 : iPhone XS
iPhone11,4 : iPhone XS Max
iPhone11,6 : iPhone XS Max Global
iPhone11,8 : iPhone XR
iPhone12,1 : iPhone 11
iPhone12,3 : iPhone 11 Pro
iPhone12,5 : iPhone 11 Pro Max
iPhone12,8 : iPhone SE 2nd Gen
iPhone13,1 : iPhone 12 Mini
iPhone13,2 : iPhone 12
iPhone13,3 : iPhone 12 Pro
iPhone13,4 : iPhone 12 Pro Max
iPhone14,2 : iPhone 13 Pro
iPhone14,3 : iPhone 13 Pro Max
iPhone14,4 : iPhone 13 Mini
iPhone14,5 : iPhone 13
iPhone14,6 : iPhone SE 3rd Gen
iPhone14,7 : iPhone 14
iPhone14,8 : iPhone 14 Plus
iPhone15,2 : iPhone 14 Pro
iPhone15,3 : iPhone 14 Pro Max
iPhone15,4 : iPhone 15
iPhone15,5 : iPhone 15 Plus
iPhone16,1 : iPhone 15 Pro
iPhone16,2 : iPhone 15 Pro Max
iPhone17,1 : iPhone 16 Pro
iPhone17,2 : iPhone 16 Pro Max
iPhone17,3 : iPhone 16
iPhone17,4 : iPhone 16 Plus
iPod1,1 : 1st Gen iPod
iPod2,1 : 2nd Gen iPod
iPod3,1 : 3rd Gen iPod
iPod4,1 : 4th Gen iPod
iPod5,1 : 5th Gen iPod
iPod7,1 : 6th Gen iPod
iPod9,1 : 7th Gen iPod
iPad1,1 : iPad
iPad1,2 : iPad 3G
iPad2,1 : 2nd Gen iPad
iPad2,2 : 2nd Gen iPad GSM
iPad2,3 : 2nd Gen iPad CDMA
iPad2,4 : 2nd Gen iPad New Revision
iPad3,1 : 3rd Gen iPad
iPad3,2 : 3rd Gen iPad CDMA
iPad3,3 : 3rd Gen iPad GSM
iPad2,5 : iPad mini
iPad2,6 : iPad mini GSM+LTE
iPad2,7 : iPad mini CDMA+LTE
iPad3,4 : 4th Gen iPad
iPad3,5 : 4th Gen iPad GSM+LTE
iPad3,6 : 4th Gen iPad CDMA+LTE
iPad4,1 : iPad Air (WiFi)
iPad4,2 : iPad Air (GSM+CDMA)
iPad4,3 : 1st Gen iPad Air (China)
iPad4,4 : iPad mini Retina (WiFi)
iPad4,5 : iPad mini Retina (GSM+CDMA)
iPad4,6 : iPad mini Retina (China)
iPad4,7 : iPad mini 3 (WiFi)
iPad4,8 : iPad mini 3 (GSM+CDMA)
iPad4,9 : iPad Mini 3 (China)
iPad5,1 : iPad mini 4 (WiFi)
iPad5,2 : 4th Gen iPad mini (WiFi+Cellular)
iPad5,3 : iPad Air 2 (WiFi)
iPad5,4 : iPad Air 2 (Cellular)
iPad6,3 : iPad Pro (9.7 inch, WiFi)
iPad6,4 : iPad Pro (9.7 inch, WiFi+LTE)
iPad6,7 : iPad Pro (12.9 inch, WiFi)
iPad6,8 : iPad Pro (12.9 inch, WiFi+LTE)
iPad6,11 : iPad (2017)
iPad6,12 : iPad (2017)
iPad7,1 : iPad Pro 2nd Gen (WiFi)
iPad7,2 : iPad Pro 2nd Gen (WiFi+Cellular)
iPad7,3 : iPad Pro 10.5-inch 2nd Gen
iPad7,4 : iPad Pro 10.5-inch 2nd Gen
iPad7,5 : iPad 6th Gen (WiFi)
iPad7,6 : iPad 6th Gen (WiFi+Cellular)
iPad7,11 : iPad 7th Gen 10.2-inch (WiFi)
iPad7,12 : iPad 7th Gen 10.2-inch (WiFi+Cellular)
iPad8,1 : iPad Pro 11 inch 3rd Gen (WiFi)
iPad8,2 : iPad Pro 11 inch 3rd Gen (1TB, WiFi)
iPad8,3 : iPad Pro 11 inch 3rd Gen (WiFi+Cellular)
iPad8,4 : iPad Pro 11 inch 3rd Gen (1TB, WiFi+Cellular)
iPad8,5 : iPad Pro 12.9 inch 3rd Gen (WiFi)
iPad8,6 : iPad Pro 12.9 inch 3rd Gen (1TB, WiFi)
iPad8,7 : iPad Pro 12.9 inch 3rd Gen (WiFi+Cellular)
iPad8,8 : iPad Pro 12.9 inch 3rd Gen (1TB, WiFi+Cellular)
iPad8,9 : iPad Pro 11 inch 4th Gen (WiFi)
iPad8,10 : iPad Pro 11 inch 4th Gen (WiFi+Cellular)
iPad8,11 : iPad Pro 12.9 inch 4th Gen (WiFi)
iPad8,12 : iPad Pro 12.9 inch 4th Gen (WiFi+Cellular)
iPad11,1 : iPad mini 5th Gen (WiFi)
iPad11,2 : iPad mini 5th Gen
iPad11,3 : iPad Air 3rd Gen (WiFi)
iPad11,4 : iPad Air 3rd Gen
iPad11,6 : iPad 8th Gen (WiFi)
iPad11,7 : iPad 8th Gen (WiFi+Cellular)
iPad12,1 : iPad 9th Gen (WiFi)
iPad12,2 : iPad 9th Gen (WiFi+Cellular)
iPad14,1 : iPad mini 6th Gen (WiFi)
iPad14,2 : iPad mini 6th Gen (WiFi+Cellular)
iPad13,1 : iPad Air 4th Gen (WiFi)
iPad13,2 : iPad Air 4th Gen (WiFi+Cellular)
iPad13,4 : iPad Pro 11 inch 5th Gen
iPad13,5 : iPad Pro 11 inch 5th Gen
iPad13,6 : iPad Pro 11 inch 5th Gen
iPad13,7 : iPad Pro 11 inch 5th Gen
iPad13,8 : iPad Pro 12.9 inch 5th Gen
iPad13,9 : iPad Pro 12.9 inch 5th Gen
iPad13,10 : iPad Pro 12.9 inch 5th Gen
iPad13,11 : iPad Pro 12.9 inch 5th Gen
iPad13,16 : iPad Air 5th Gen (WiFi)
iPad13,17 : iPad Air 5th Gen (WiFi+Cellular)
iPad13,18 : iPad 10th Gen
iPad13,19 : iPad 10th Gen
iPad14,3 : iPad Pro 11 inch 4th Gen
iPad14,4 : iPad Pro 11 inch 4th Gen
iPad14,5 : iPad Pro 12.9 inch 6th Gen
iPad14,6 : iPad Pro 12.9 inch 6th Gen
iPad14,8 : iPad Air 6th Gen
iPad14,9 : iPad Air 6th Gen
iPad14,10 : iPad Air 7th Gen
iPad14,11 : iPad Air 7th Gen
iPad16,3 : iPad Pro 11 inch 5th Gen
iPad16,4 : iPad Pro 11 inch 5th Gen
iPad16,5 : iPad Pro 12.9 inch 7th Gen
iPad16,6 : iPad Pro 12.9 inch 7th Gen
Watch1,1 : Apple Watch 38mm case
Watch1,2 : Apple Watch 42mm case
Watch2,6 : Apple Watch Series 1 38mm case
Watch2,7 : Apple Watch Series 1 42mm case
Watch2,3 : Apple Watch Series 2 38mm case
Watch2,4 : Apple Watch Series 2 42mm case
Watch3,1 : Apple Watch Series 3 38mm case (GPS+Cellular)
Watch3,2 : Apple Watch Series 3 42mm case (GPS+Cellular)
Watch3,3 : Apple Watch Series 3 38mm case (GPS)
Watch3,4 : Apple Watch Series 3 42mm case (GPS)
Watch4,1 : Apple Watch Series 4 40mm case (GPS)
Watch4,2 : Apple Watch Series 4 44mm case (GPS)
Watch4,3 : Apple Watch Series 4 40mm case (GPS+Cellular)
Watch4,4 : Apple Watch Series 4 44mm case (GPS+Cellular)
Watch5,1 : Apple Watch Series 5 40mm case (GPS)
Watch5,2 : Apple Watch Series 5 44mm case (GPS)
Watch5,3 : Apple Watch Series 5 40mm case (GPS+Cellular)
Watch5,4 : Apple Watch Series 5 44mm case (GPS+Cellular)
Watch5,9 : Apple Watch SE 40mm case (GPS)
Watch5,10 : Apple Watch SE 44mm case (GPS)
Watch5,11 : Apple Watch SE 40mm case (GPS+Cellular)
Watch5,12 : Apple Watch SE 44mm case (GPS+Cellular)
Watch6,1 : Apple Watch Series 6 40mm case (GPS)
Watch6,2 : Apple Watch Series 6 44mm case (GPS)
Watch6,3 : Apple Watch Series 6 40mm case (GPS+Cellular)
Watch6,4 : Apple Watch Series 6 44mm case (GPS+Cellular)
Watch6,6 : Apple Watch Series 7 41mm case (GPS)
Watch6,7 : Apple Watch Series 7 45mm case (GPS)
Watch6,8 : Apple Watch Series 7 41mm case (GPS+Cellular)
Watch6,9 : Apple Watch Series 7 45mm case (GPS+Cellular)
Watch6,10 : Apple Watch SE 40mm case (GPS)
Watch6,11 : Apple Watch SE 44mm case (GPS)
Watch6,12 : Apple Watch SE 40mm case (GPS+Cellular)
Watch6,13 : Apple Watch SE 44mm case (GPS+Cellular)
Watch6,14 : Apple Watch Series 8 41mm case (GPS)
Watch6,15 : Apple Watch Series 8 45mm case (GPS)
Watch6,16 : Apple Watch Series 8 41mm case (GPS+Cellular)
Watch6,17 : Apple Watch Series 8 45mm case (GPS+Cellular)
Watch6,18 : Apple Watch Ultra
Watch7,1 : Apple Watch Series 9 41mm case (GPS)
Watch7,2 : Apple Watch Series 9 45mm case (GPS)
Watch7,3 : Apple Watch Series 9 41mm case (GPS+Cellular)
Watch7,4 : Apple Watch Series 9 45mm case (GPS+Cellular)
Watch7,5 : Apple Watch Ultra 2
@timdiggins
Copy link

@mexmer re github repo, yes agreed - https://github.com/fieldnotescommunities/ios-device-identifiers already exists, and I'm happy to review PRs - could store it in both versions (strings and json) if that's a help.

@arturCwiklinsky, @GregOriol re json - curl https://raw.githubusercontent.com/fieldnotescommunities/ios-device-identifiers/master/ios-device-identifiers.json > ios-device-identifiers.json

@luoxixuan
Copy link

luoxixuan commented Dec 1, 2023 via email

@xwi88
Copy link

xwi88 commented Dec 1, 2023 via email

@arturCwiklinsky
Copy link

@mexmer re github repo, yes agreed - https://github.com/fieldnotescommunities/ios-device-identifiers already exists, and I'm happy to review PRs - could store it in both versions (strings and json) if that's a help.

@arturCwiklinsky, @GregOriol re json - curl https://raw.githubusercontent.com/fieldnotescommunities/ios-device-identifiers/master/ios-device-identifiers.json > ios-device-identifiers.json

I know about that but It's not easy to deserialize this json to list of POJOs in some languages. This is one is perfectly suited for python Dictionary.

@DennisWeirauch
Copy link

DennisWeirauch commented Jan 31, 2024

I wrote a little script to read the device mapping table from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/usr/standalone/device_traits.db and convert it to a plist file, which can then be added to your project

DEVICE_TRAITS_DATABASE=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/usr/standalone/device_traits.db
SQL_QUERY="SELECT DISTINCT CASE WHEN INSTR(ProductType, '-') > 0 THEN SUBSTR(ProductType, 1, INSTR(ProductType, '-') - 1) ELSE ProductType END, ProductDescription from DEVICES;"

sqlite3 -readonly -separator $'\t' $DEVICE_TRAITS_DATABASE "$SQL_QUERY" > devices.tsv

awk -F '\t' 'NR>0 { print "Add \":"$1"\" string \""$2"\"" }' devices.tsv > commands.txt

/usr/libexec/PlistBuddy -c 'Clear' DeviceModels.plist
while IFS= read -r command; do
    /usr/libexec/PlistBuddy -c "$command" DeviceModels.plist
done < commands.txt

Edit: Some iPad models have an additional "-A" or "-B" suffix. I adjusted the SQLite query to drop that suffix

@xperseguers
Copy link

@jwarchol
Copy link

Apple Vision Pro is RealityDevice14,1

@malcolmteas
Copy link

@mitchtreece
Copy link

mitchtreece commented May 8, 2024

Here's the new iPad's from today's "Let Loose" event 😎

"iPad14,8": "iPad Air 11-inch (M2)",
"iPad14,9": "iPad Air 11-inch (M2)",
"iPad14,10": "iPad Air 13-inch (M2)",
"iPad14,11": "iPad Air 13-inch (M2)",
"iPad16,3-A": "iPad Pro 11-inch (M4)",
"iPad16,3-B": "iPad Pro 11-inch (M4)",
"iPad16,4-A": "iPad Pro 11-inch (M4)",
"iPad16,4-B": "iPad Pro 11-inch (M4)",
"iPad16,5-A": "iPad Pro 13-inch (M4)",
"iPad16,5-B": "iPad Pro 13-inch (M4)",
"iPad16,6-A": "iPad Pro 13-inch (M4)",
"iPad16,6-B": "iPad Pro 13-inch (M4)"
Screenshot 2024-05-07 at 5 23 10 PM

@adamawolf
Copy link
Author

Thanks @mitchtreece , updated. Note that I dropped the details about the processor and included the generation info as I have done previously. Also will say I'm a bit curious about the -A and -B suffixes, this is the first time we've seen this.

The iPad line in particular is quite confusing, so I'm including this snippet I found here for posterity:

2010: iPad (1st generation) revealed by Steve Jobs
2011: iPad 2
2012: iPad (3rd generation), iPad (4th generation) and the arrival of the first iPad mini
2013: iPad Air (1st generation) and the iPad mini 2
2014: iPad Air 2 and iPad mini 3
2015: iPad mini 4 and the first generation of the 12.9-inch iPad Pro
2016: iPad Pro 9.7-inch
2017: iPad (5th generation), iPad Pro 12.9-inch (2nd generation) and iPad Pro (10.5-inch)
2018: iPad (6th gen), iPad Pro 11-inch (1st generation) and the iPad Pro 12.9-inch (3rd generation)
2019: iPad (7th gen), iPad Air (3rd gen) and iPad mini (5th gen)
2020: iPad (8th gen), iPad Air (4th gen), iPad Pro 11-inch (2nd gen), iPad Pro 12.9-inch (4th gen)
2021: iPad (9th gen), iPad mini (6th gen), iPad Pro 11-inch (3rd gen), iPad Pro 12.9-inch (5th gen)
2022: iPad (10th gen), iPad Air (5th gen), iPad Pro 11-inch (4th gen), iPad Pro 12.9-inch (6th gen)
2023:
2024: iPad Air (6th gen), iPad Pro 11-inch (5th gen) and iPad Pro 12.9-inch (7th gen) 

@neilpomerleau
Copy link

I believe it's not the first time we've seen the suffixes. See my comment from 2022 below. I'm guessing the devices will not report these suffixes, but we will have to wait for the actual hardware to find out.

Based on actual hardware testing, the new iPads do not report the -A or -B identifiers, just these:

iPad14,3
iPad14,4
iPad14,5
iPad14,6

@adamawolf
Copy link
Author

@neilpomerleau ah, right. will update once we confirm 👍

@ahaleisha
Copy link

@adamawolf I think two iPads are missing from the recent update
"iPad14,10": "iPad Air 13-inch (M2)",
"iPad14,11": "iPad Air 13-inch (M2)",

@xperseguers
Copy link

xperseguers commented May 9, 2024

Just to follow-up on the (possible) -A and -B suffices, there are in the device_traits.db but the SQLite shows 2 columns, one for that exact denomination, and one marked as "fallback":

image

At least I can confirm I have report for a few "iPad Pro (12.9-inch) (6th generation) Wi-Fi" that I detected from the hardware iPad14,5 which isn't the fallback version, but the product one, stripped from the suffix.

So my personal patch for that project is:

index 85bed678..7d7b87b7 100644
--- a/PROJECT.iOS/Hardware/iOSHardware.cs
+++ b/PROJECT.iOS/Hardware/iOSHardware.cs
@@ -139,6 +139,22 @@ namespace PROJECT.iOS.Hardware
             {
                 switch (hardware)
                 {
+                    case "iPad16,6":
+                        return "iPad Pro 13-inch (M4) Wi-Fi + Cellular";
+                    case "iPad16,5":
+                        return "iPad Pro 13-inch (M4) Wi-Fi";
+                    case "iPad16,4":
+                        return "iPad Pro 11-inch (M4) Wi-Fi + Cellular";
+                    case "iPad16,3":
+                        return "iPad Pro 11-inch (M4) Wi-Fi";
+                    case "iPad14,11":
+                        return "iPad Air 13-inch (M2) Wi-Fi + Cellular";
+                    case "iPad14,10":
+                        return "iPad Air 13-inch (M2) Wi-Fi";
+                    case "iPad14,9":
+                        return "iPad Air 11-inch (M2) Wi-Fi + Cellular";
+                    case "iPad14,8":
+                        return "iPad Air 11-inch (M2) Wi-Fi";
                     case "iPad14,6":
                         return "iPad Pro (12.9-inch) (6th generation) Wi-Fi + Cellular";
                     case "iPad14,5":

@ContextPerspective
Copy link

If I had to guess, A and B suffixes likely refer to the Nano Glass vs Non-Nano Glass version of iPad hardware.

https://www.macrumors.com/2024/05/07/ipad-pro-nano-texture-glass/

@daluu
Copy link

daluu commented May 10, 2024

Thanks for the awesome list! Would it be possible to add a license (e.g. MIT or MIT-0) to the top of the gist? I'm asking because I would love to use it in a client project, without licensing information this is not possible.

https://gist.github.com/adamawolf/3048717?permalink_comment_id=4617501#gistcomment-4617501

Doing a search on "license", seems this question was never responded to or answered?

@xperseguers
Copy link

@daluu if you read the gist completely you'll find all information to easily extract/generate that list on your own, as such, imho there's absolutely no need for it. my 2c

@daluu
Copy link

daluu commented May 10, 2024

Makes sense. But it would be good to explicitly get confirmation, otherwise, it is open for interpretation. I'm just asking on behalf of @LarsPetersHH and anyone else who may have that question.

Also, while the method to generate/extract the data is publicly available, how you map the values to user friendly names is open ended, meaning one can choose to name it as they desire or follow this gist or the comments within here. Maybe is moot point, but if taking latter approach of using the already extracted and mapped data, is there any constraints to using it?

e.g. for the 2024 model: iPad Pro 11-inch (5th gen) vs iPad Pro 11-inch (M4), for how one might choose to name the device model, diferent people have different viewpoints.

@neilpomerleau
Copy link

Confirmed from hardware testing that, as before, the new iPads do not report the -A or -B suffixes:

iPad16,3
iPad16,4
iPad16,5
iPad16,6

@jifang
Copy link

jifang commented May 18, 2024

iPad13,4 : iPad Pro 11 inch 5th Gen
iPad13,5 : iPad Pro 11 inch 5th Gen
iPad13,6 : iPad Pro 11 inch 5th Gen
iPad13,7 : iPad Pro 11 inch 5th Gen

Should be 3rd gen?
https://www.wikiwand.com/en/List_of_iPad_models

@Trandafialex
Copy link

iPad13,4 : iPad Pro 11 inch 5th Gen
iPad13,5 : iPad Pro 11 inch 5th Gen
iPad13,6 : iPad Pro 11 inch 5th Gen
iPad13,7 : iPad Pro 11 inch 5th Gen
Should be 3rd gen? https://www.wikiwand.com/en/List_of_iPad_models

@luoxixuan
Copy link

luoxixuan commented Jun 3, 2024 via email

@adamawolf
Copy link
Author

@jifang I don't think so. I think that it's a bit up for interpretation, but please feel free to reason backwards about what I'm calling the 4th, 3rd, 2nd, and original iPad pro and compare it to the wikipedia article.

@adamawolf
Copy link
Author

@neilpomerleau dropped the -A vs -B designations, thanks.

@adamawolf
Copy link
Author

@ahaleisha added, but I'm going to go with just "7th gen" as the designation

@adamawolf
Copy link
Author

re: license stuff, my understanding is that github's terms of service allow anything publicly posted to be copied/forked without a license. I'd rather not mess with this, it's just a gist of publicly available information. do with it what you wish!

@mexmer
Copy link

mexmer commented Jun 10, 2024

as for naming, wait for next year, what mess will create apple again.
keep in mind, that previous gen of Air was named by apple 5th gen and not (M1) although it has M1 inside, same goes for previous 2 generations of iPad Pro, which had M1 and M2 respectively.
it's just marketing, nothing else. they wanted people to focus on the fact, that new iPad Pro has M4 inside ... so iPad Air got name in line with that.
They also messed up with "size" because of "rounding", you don't have Air 10.9, but 11, you don't have Pro 12.9 but 13 ... marketing has simply own "language"

@mckeed
Copy link

mckeed commented Jun 14, 2024

@adamawolf Now you have both the 2021 and 2024 iPad Pro 11" models listed as "5th Gen". I think you should either go back and change the 11" generations to the official numbering or use "7th Gen" for iPad16,3/4. I'd vote for staying consistent and using "7th gen" since Apple is switching to referring to the M chip anyway, so it won't conflict for the new ones.

@zoolbia
Copy link

zoolbia commented Aug 8, 2024

If you look closely you can see that Pro, Pro Max modells are 15 and others are 14 models.
iPhone15,4 : iPhone 15
iPhone15,5 : iPhone 15 Plus
iPhone16,1 : iPhone 15 Pro
iPhone16,2 : iPhone 15 Pro Max

@luoxixuan
Copy link

luoxixuan commented Aug 8, 2024 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment