Skip to content

Release years and isVision

Choose a tag to compare

@gabors gabors released this 31 Oct 17:27

New:

  • Device.year and Mac.year: the year the model was released, e.g. Device(modelIdentifier: "iPhone18,1").year is 2025. Every device and Mac in the data has one; an unknown device gives nil. For a Mac identifier Apple reused across models, it's the newest model's year, matching its name. Xcode names the 2020 and 2022 Apple Watch SE alike, so the year is what tells them apart.
  • Device.isVision, alongside isPhone through isMac.

Data pipeline:

  • Scripts/update-devices.py gives a new device the current year, since Xcode lists devices around their announcement; correct it by hand if a device ships the next year.
  • Scripts/update-macs.py stores each Mac's year, taken from its name.
  • The tests fail until every device and Mac has a year.