iPhone 15, 15 Plus, 15 Pro and 15 Pro Max have been added to the list. I removed the old A9 and A10 models, so the list includes all iPhone models supported by iOS 16.0 and later. That also means the last iPod touch had to go.
After six years, I finally replaced my iPhone X with a new model. Not because it wouldn’t still work perfectly fine (even the battery is still in good shape), but not being able to get the latest OS version felt just wrong, even though I’m not developing for iPhone at the moment. I think it’s still great to get six years of support for a phone – looking at old posts I saw it was only four years not long ago.
Another big plus with the new models is of course the USB-C port. I’m glad I already had the “port” row ready for that. Speaking of rows: The iPhone Matrix now also has one for the model number, a feature request that was already implemented in the last update for iPad.
The only other change is the upgrade from Geekbench5 to Geekbench6, which was necessary because the old version is not available for the latest models.
Like so many others I switched to Mastodon last month, for obvious reasons. I was surprised how well this federated system was able to handle what must have been the biggest surge in users and activity that the platform has seen. There are still a few things that don’t work as well on Mastodon as they did on Twitter, like search, but I remember it took Twitter a few years to get that right as well. And since Mastodon is based on an open API, many things can be fixed by third-party tools — I’ve already seen some exciting projects announced.
Anyway, if you want to keep following me to get updates on the Specs Matrix, my account is @firstname.lastname@example.org. My Twitter account is now deleted.
Speaking of the Specs Matrix, I added the new iPad models that were announced in October and dropped the older models that are stuck on iOS 12. There’s also a new row for the model numbers, per request from Chuck.
I’m currently thinking about moving this project to Github, to make versioning and updating easier. Maybe as a DB or a CSV file with a script to export printable files? Let me know in the comments if you would prefer that over the current format.
The first Geekbench-numbers for the new Pro-models have been a bit confusing and there are no scores for the iPhone 14 Plus available yet, but I went ahead and added all the new iPhone 14 models to the specs matrix. The included Geekbench results for the 14 and the Pro models are from Tom’s Guide and seem to be the most reliable numbers I could find.
Because the list grows longer and longer, it was also time to get rid of the A7 and A8 models that are stuck on iOS 12. The oldest models in the list (the 6s’s) are now seven years old, run at least iOS 15 and I think that is what most developers are going to support now.
As always: If you spot any errors, please leave a comment below!
We learned at WWDC that there are quite a few devices which won’t get iOS/iPadOS 16: The iPhone 6s, 6s Plus, 7, 7 Plus, the original SE, iPod 7G, iPad Air 2 and iPad Mini 3 & 4 are now all stuck on iOS 15.
The new iPhone/iPad Specs Matrix reflects these updates and also adds the new iPhone SE and the iPad Air 5, introduced in March. I also corrected two errors from the previous version (wrong RAM number for iPhone 11 and iPad Pro 9.7″). Thanks to Frank Herberg and usws for pointing that out!
tl;dr: Get the specs matrix for iPads here and a printer-friendly version here. You can find the version for iPhones here.
I still remember the early days of iOS (iPhoneOS!) when developers used to buy every new model to test their apps. I don’t know anybody who is still doing that today, where Apple is releasing up to 9 iPhones and iPads each year. It wouldn’t only be crazy expensive, the differences between some models are totally negligable from a developers point of view.
But you still need a few test devices. And that’s where I see the main purpose of the specs matrix, helping you pick test devices that support all features that your app requires, but still offer a variety of screen sizes, RAM, CPU and graphics performance, biometric sensors and other hardware features that you can’t really test in a simulator.
Please post any error you find in the comments! And yes, the benchmarks for the brand new iPad Pro’s are missing, because I can’t find any at the time of writing. I’ll add them to the next version.
I finally found some time to update the Specs Matrix. To make room for all the new iPhone 12 models, I kicked out the iPhone 5/5C. From what I know, everybody dropped support for iOS 10 by now, so I hope nobody will miss these models. Since the iPhone 5 was the last model with armv7 architecture, I could also drop the rows for CPU architecture and Metal. All iPhone in the list are now 64-Bit and support Metal. I added a row for the new LIDAR sensor in return.
You might wonder why I kept the “Port” row since all models in the list now have the Lightning port. But 2021 will be the year of the USB-C iPhone, right? I just want to make sure I’m ready for that 😜
As always: If you find any errors in the chart, please let me know in the comments. Thanks!
This year, all iPhones running the last version (currently 13.5.1) will be able to update to the new OS. So no phone will get stuck on iOS 13, just like two years ago when iOS 12 was released for all phones supporting iOS 11.
Other than iOS 14 compatibility, the new matrix also adds the iPhone SE 2nd Generation, fixes the labels of the Geekbench result rows (hat tip to Matthew) and replaces “Apple Pay” with “NFC”. In the NFC row, I tried to describe the different sets of NFC features: • Apple Pay only – device has a NFC chip but it is not accessible from your app. • read/write – device supports reading and (starting with iOS 13) writing NFC tags from your app. • bg read – In addition to read/write, the device will let you get background tag reading notifications in your app.
Thanks to Daniel for this suggestion!
If you spot any errors, please let me know in the comments. And now back to watching WWDC!
With Apple releasing more and more new devices every year, my updated version of the classic iOS Support Matrix quickly became too large to be useful. After struggling with the gigantic file for a while, I decided to make a completely new, much more compact version while still trying to keep every spec that is important for a developer.
So I cut off all the old 3.5″ models (everything before the iPhone 5) and all features that every newer device has, like gyroscope, front-facing camera and so on. While I was at it, I decided to make seperate versions for iPhone/iPod Touch and iPad (coming next) to keep the lists even more compact.
The new file is based on a simple spreadsheet which makes it much faster to update it when new models come out (promise!). You can also download a printer-friendly black-on-white version in A4 format. I also kept the CC-BY license, so feel free to make your own version of this and publish it.
I hope you like the new format and please leave a comment if you have suggestions for new features or find any errors!
Here comes a substantial update to the iOS Support Matrix: I’ve added the iPhone 8, 8 Plus, iPhone X, ARKit compatibility and the screen sizes and display resolutions for all devices.
The latter is something I’ve been missing ever since the 4.7″ and 5.5″ devices with their odd pixel dimensions came out. The new displays of this years iPad Pro and iPhone X made things worse, so I finally squeezed in a new row for display size. I chose to specify the size in points because I think that is the most important unit for developers. The resolution modifier (@2x, @3x) is there, too. (By the way: If you want to know more about iPhone screen sizes and the weird downsampling going on in the Plus models, check this great guide).
There are also new icons for Face ID, Touch ID and ARKit support. To make room for these, I had to drop the icon for peer-to-peer connectivity. But I guess no one will miss it since this ages old feature is supported by every device since the iPhone 3G.
I’ve got requests for a Metal support icon, but eventually left it out to save space. All 64-bit devices support Metal, so basically “ARM64” = Metal support.
I hope you find this useful and please report any errors or suggestions in the comments!