Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
149 changes: 88 additions & 61 deletions src/sentry/api/helpers/ios_models.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,46 +10,54 @@
IPHONEXSMAX = "iPhone XS Max"

IPAD2 = "iPad 2"
IPADGEN3 = "iPad (3rd gen)"
IPADGEN4 = "iPad (4th gen)"
IPADGEN5 = "iPad (5th gen)"
IPADGEN6 = "iPad (6th gen)"
IPADGEN7 = "iPad (7th gen)"
IPADGEN8 = "iPad (8th gen)"
IPADGEN9 = "iPad (9th gen)"
IPADGEN10 = "iPad (10th gen)"
IPADGEN3 = "iPad (3rd generation)"
IPADGEN4 = "iPad (4th generation)"
IPADGEN5 = "iPad (5th generation)"
IPADGEN6 = "iPad (6th generation)"
IPADGEN7 = "iPad (7th generation)"
IPADGEN8 = "iPad (8th generation)"
IPADGEN9 = "iPad (9th generation)"
IPADGEN10 = "iPad (10th generation)"
IPADA16 = "iPad (A16)"

IPADAIRGEN1 = "iPad Air (1st gen)"
IPADAIRGEN1 = "iPad Air (1st generation)"
IPADAIR2 = "iPad Air 2"
IPADAIRGEN3 = "iPad Air (3rd gen)"
IPADAIRGEN4 = "iPad Air (4th gen)"
IPADAIRGEN5 = "iPad Air (5th gen)"
IPADAIRGEN6 = "iPad Air (6th gen)"
IPADAIRGEN7 = "iPad Air (7th gen)"
IPADAIRGEN3 = "iPad Air (3rd generation)"
IPADAIRGEN4 = "iPad Air (4th generation)"
IPADAIRGEN5 = "iPad Air (5th generation)"
IPADAIR11M2 = "iPad Air 11-inch (M2)"
IPADAIR13M2 = "iPad Air 13-inch (M2)"
IPADAIR11M3 = "iPad Air 11-inch (M3)"
IPADAIR13M3 = "iPad Air 13-inch (M3)"
IPADAIR11M4 = "iPad Air 11-inch (M4)"
IPADAIR13M4 = "iPad Air 13-inch (M4)"

IPADPRO9GEN1 = "iPad Pro (9.7-inch)"
IPADPRO10 = "iPad Pro (10.5-inch)"
IPADPRO11GEN1 = "iPad Pro (11-inch, 1st gen)"
IPADPRO11GEN2 = "iPad Pro (11-inch, 2nd gen)"
IPADPRO11GEN3 = "iPad Pro (11-inch, 3rd gen)"
IPADPRO11GEN4 = "iPad Pro (11-inch, 4th gen)"
IPADPRO11GEN5 = "iPad Pro (11 inch, 5th gen)"
IPADPRO12GEN1 = "iPad Pro (12.9-inch, 1st gen)"
IPADPRO12GEN2 = "iPad Pro (12.9-inch, 2nd gen)"
IPADPRO12GEN3 = "iPad Pro (12.9-inch, 3rd gen)"
IPADPRO12GEN4 = "iPad Pro (12.9-inch, 4th gen)"
IPADPRO12GEN5 = "iPad Pro (12.9-inch, 5th gen)"
IPADPRO12GEN6 = "iPad Pro (12.9-inch, 6th gen)"
IPADPRO12GEN7 = "iPad Pro (12.9-inch, 7th gen)"
IPADPRO9GEN1 = "iPad Pro 9.7-inch"
IPADPRO10 = "iPad Pro 10.5-inch"
IPADPRO11GEN1 = "iPad Pro 11-inch"
IPADPRO11GEN2 = "iPad Pro 11-inch (2nd generation)"
IPADPRO11GEN3 = "iPad Pro 11-inch (3rd generation)"
IPADPRO11GEN4 = "iPad Pro 11-inch (4th generation)"
IPADPRO11GEN5 = "iPad Pro 11-inch (M4)"
IPADPRO11GEN6 = "iPad Pro 11-inch (M5)"
IPADPRO12GEN1 = "iPad Pro 12.9-inch (1st generation)"
IPADPRO12GEN2 = "iPad Pro 12.9-inch (2nd generation)"
IPADPRO12GEN3 = "iPad Pro 12.9-inch (3rd generation)"
IPADPRO12GEN4 = "iPad Pro 12.9-inch (4th generation)"
IPADPRO12GEN5 = "iPad Pro 12.9-inch (5th generation)"
IPADPRO12GEN6 = "iPad Pro 12.9-inch (6th generation)"
IPADPRO12GEN7 = "iPad Pro 13-inch (M4)"
IPADPRO12GEN8 = "iPad Pro 13-inch (M5)"

IPADMINIGEN1 = "iPad mini (1st gen)"
IPADMINIGEN1 = "iPad mini"
IPADMINI2 = "iPad mini 2"
IPADMINI3 = "iPad mini 3"
IPADMINI4 = "iPad mini 4"
IPADMINIGEN5 = "iPad mini (5th gen)"
IPADMINIGEN6 = "iPad mini (6th gen)"
IPADMINIGEN5 = "iPad mini (5th generation)"
IPADMINIGEN6 = "iPad mini (6th generation)"
IPADMINIA17PRO = "iPad mini (A17 Pro)"

APPLEWATCHGEN1 = "Apple Watch (1st gen)"
APPLEWATCHGEN1 = "Apple Watch (1st generation)"
APPLEWATCHSERIES1 = "Apple Watch Series 1"
APPLEWATCHSERIES2 = "Apple Watch Series 2"
APPLEWATCHSERIES3 = "Apple Watch Series 3"
Expand All @@ -62,18 +70,16 @@
APPLEWATCHSERIES10 = "Apple Watch Series 10"
APPLEWATCHSERIES11 = "Apple Watch Series 11"

APPLEWATCHSE1 = "Apple Watch SE (1st gen)"
APPLEWATCHSE2 = "Apple Watch SE (2nd gen)"
APPLEWATCHSE3 = "Apple Watch SE (3rd gen)"
APPLEWATCHSE1 = "Apple Watch SE"
APPLEWATCHSE2 = "Apple Watch SE 2"
APPLEWATCHSE3 = "Apple Watch SE 3"

APPLETVGEN1 = "Apple TV (1st gen)"
APPLETVGEN2 = "Apple TV (2nd gen)"
APPLETVGEN3 = "Apple TV (3rd gen)"
APPLETVGEN3 = "Apple TV (3rd generation)"

# see https://theapplewiki.com/wiki/models
IOS_MODELS: dict[str, str] = {
# iPhone
"iPhone1,1": "iPhone (1st gen)",
"iPhone1,1": "iPhone",
"iPhone1,2": "iPhone 3G",
"iPhone2,1": "iPhone 3GS",
"iPhone3,1": IPHONE4,
Expand All @@ -90,7 +96,7 @@
"iPhone7,1": "iPhone 6 Plus",
"iPhone8,1": "iPhone 6s",
"iPhone8,2": "iPhone 6s Plus",
"iPhone8,4": "iPhone SE (1st gen)",
"iPhone8,4": "iPhone SE (1st generation)",
"iPhone9,1": IPHONE7,
"iPhone9,3": IPHONE7,
"iPhone9,2": IPHONE7PLUS,
Expand All @@ -108,7 +114,7 @@
"iPhone12,1": "iPhone 11",
"iPhone12,3": "iPhone 11 Pro",
"iPhone12,5": "iPhone 11 Pro Max",
"iPhone12,8": "iPhone SE (2nd gen)",
"iPhone12,8": "iPhone SE (2nd generation)",
"iPhone13,1": "iPhone 12 mini",
"iPhone13,2": "iPhone 12",
"iPhone13,3": "iPhone 12 Pro",
Expand All @@ -117,7 +123,7 @@
"iPhone14,5": "iPhone 13",
"iPhone14,2": "iPhone 13 Pro",
"iPhone14,3": "iPhone 13 Pro Max",
"iPhone14,6": "iPhone SE (3rd gen)",
"iPhone14,6": "iPhone SE (3rd generation)",
"iPhone14,7": "iPhone 14",
"iPhone14,8": "iPhone 14 Plus",
"iPhone15,2": "iPhone 14 Pro",
Expand All @@ -135,16 +141,17 @@
"iPhone18,2": "iPhone 17 Pro Max",
"iPhone18,3": "iPhone 17",
"iPhone18,4": "iPhone Air",
"iPhone18,5": "iPhone 17e",
# iPod Touch
"iPod1,1": "iPod touch (1st gen)",
"iPod2,1": "iPod touch (2nd gen)",
"iPod3,1": "iPod touch (3rd gen)",
"iPod4,1": "iPod touch (4th gen)",
"iPod5,1": "iPod touch (5th gen)",
"iPod7,1": "iPod touch (6th gen)",
"iPod9,1": "iPod touch (7th gen)",
"iPod1,1": "iPod touch (1st generation)",
"iPod2,1": "iPod touch (2nd generation)",
"iPod3,1": "iPod touch (3rd generation)",
"iPod4,1": "iPod touch (4th generation)",
"iPod5,1": "iPod touch (5th generation)",
"iPod7,1": "iPod touch (6th generation)",
"iPod9,1": "iPod touch (7th generation)",
# iPad
"iPad1,1": "iPad (1st gen)",
"iPad1,1": "iPad (1st generation)",
"iPad2,1": IPAD2,
"iPad2,2": IPAD2,
"iPad2,3": IPAD2,
Expand All @@ -165,6 +172,8 @@
"iPad11,7": IPADGEN8,
"iPad12,1": IPADGEN9,
"iPad12,2": IPADGEN9,
"iPad15,7": IPADA16,
"iPad15,8": IPADA16,
# iPad Air
"iPad4,1": IPADAIRGEN1,
"iPad4,2": IPADAIRGEN1,
Expand All @@ -177,10 +186,18 @@
"iPad13,2": IPADAIRGEN4,
"iPad13,16": IPADAIRGEN5,
"iPad13,17": IPADAIRGEN5,
"iPad14,8": IPADAIRGEN6,
"iPad14,9": IPADAIRGEN6,
"iPad14,10": IPADAIRGEN7,
"iPad14,11": IPADAIRGEN7,
"iPad14,8": IPADAIR11M2,
"iPad14,9": IPADAIR11M2,
"iPad14,10": IPADAIR13M2,
"iPad14,11": IPADAIR13M2,
"iPad15,3": IPADAIR11M3,
"iPad15,4": IPADAIR11M3,
"iPad15,5": IPADAIR13M3,
"iPad15,6": IPADAIR13M3,
"iPad16,8": IPADAIR11M4,
"iPad16,9": IPADAIR11M4,
"iPad16,10": IPADAIR13M4,
"iPad16,11": IPADAIR13M4,
# iPad Pro
"iPad6,7": IPADPRO12GEN1,
"iPad6,3": IPADPRO9GEN1,
Expand Down Expand Up @@ -218,6 +235,10 @@
"iPad16,4": IPADPRO11GEN5,
"iPad16,5": IPADPRO12GEN7,
"iPad16,6": IPADPRO12GEN7,
"iPad17,1": IPADPRO11GEN6,
"iPad17,2": IPADPRO11GEN6,
"iPad17,3": IPADPRO12GEN8,
"iPad17,4": IPADPRO12GEN8,
# iPad Mini
"iPad2,5": IPADMINIGEN1,
"iPad2,6": IPADMINIGEN1,
Expand All @@ -236,6 +257,8 @@
"iPad13,19": IPADGEN10,
"iPad14,1": IPADMINIGEN6,
"iPad14,2": IPADMINIGEN6,
"iPad16,1": IPADMINIA17PRO,
"iPad16,2": IPADMINIA17PRO,
# Apple Watch
"Watch1,1": APPLEWATCHGEN1,
"Watch1,2": APPLEWATCHGEN1,
Expand All @@ -255,6 +278,8 @@
"Watch5,2": APPLEWATCHSERIES5,
"Watch5,3": APPLEWATCHSERIES5,
"Watch5,4": APPLEWATCHSERIES5,
"Watch6,1": APPLEWATCHSERIES6,
"Watch6,2": APPLEWATCHSERIES6,
"Watch6,3": APPLEWATCHSERIES6,
"Watch6,4": APPLEWATCHSERIES6,
"Watch6,6": APPLEWATCHSERIES7,
Expand Down Expand Up @@ -291,19 +316,21 @@
"Watch7,15": APPLEWATCHSE3,
"Watch7,16": APPLEWATCHSE3,
# Apple Watch Ultra
"Watch6,18": "Apple Watch Ultra (1st gen)",
"Watch7,5": "Apple Watch Ultra (2nd gen)",
"Watch7,12": "Apple Watch Ultra (3rd gen)",
"Watch6,18": "Apple Watch Ultra",
"Watch7,5": "Apple Watch Ultra 2",
"Watch7,12": "Apple Watch Ultra 3",
# Apple TV
"AppleTV1,1": "Apple TV (1st gen)",
"AppleTV2,1": "Apple TV (2nd gen)",
"AppleTV1,1": "Apple TV (1st generation)",
"AppleTV2,1": "Apple TV (2nd generation)",
"AppleTV3,1": APPLETVGEN3,
"AppleTV3,2": APPLETVGEN3,
"AppleTV5,3": "Apple TV (4th gen)",
"AppleTV5,3": "Apple TV (4th generation)",
"AppleTV6,2": "Apple TV 4K",
"AppleTV11,1": "Apple TV 4K (2nd gen)",
"AppleTV11,1": "Apple TV 4K (2nd generation)",
"AppleTV14,1": "Apple TV 4K (3rd generation)",
"i386": "iOS Simulator (i386)",
"x86_64": "iOS Simulator (x86_64)",
# Vision Pro
"RealityDevice14,1": "Apple Vision Pro",
"RealityDevice17,1": "Apple Vision Pro (M5)",
}
Loading