iPhone Specs Matrix 1.1 with iOS 14 compatibility

I just made a quick update of the iPhone Specs Matrix to include compatibility with iOS 14.

Download as PDF

There’s also a printer-friendly version.

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!

Say Hello to the iPhone Specs Matrix

EDIT: Please use the updated version

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.

So here it is, the iPhone Specs Matrix 1.0!

iPhone Specs Matrix 1.0 Dark

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!

iPhone X added to iOS Support Matrix

EDIT: Please use the updated version

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).

New Icons for Face ID, ARKitThere 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!

Download iOS Support Matrix v4.4 (PDF)

Once again, thanks to Trevor for reporting several errors from the original version. I hope I fixed them all now 😉

iOS Support Matrix with three new iPads

EDIT: Please use the updated version

The iOS Support Matrix gets wider and wider. With the three new iPads that came out this year we now have 36 different iOS devices 😮. More than half of them (19) are 64-bit now and will all support iOS 11. And that’s without the upcoming new iPhones.

When the first iOS 11-only device comes out this fall, iOS 10 will have supported all new devices for four years, just like iOS 9 did. This pattern will definitely not change with iOS 11 as the beta already runs on every device released since 2014. Actually, if you buy a top-of-the-line model, this support period is five years. Only “reissues” like the iPad mini and the iPhone 5C, that were released with last years processors, got “only” four years of updates.  That’s pretty cool!

To make room for the new models, I’ve changed the layout of the PDF a little. I hope it’s not too cluttered now. I also added all device identifier strings and fixed a few bugs (thanks, @trevorm137!)

Download iOS Support Matrix v4.3 (PDF)

As always, please report any errors in the comments!

Don’t Drop Meo

For the past three years I’ve been working on my first iOS-Game, Don’t Drop Meo. It started as a side project to learn Swift, but soon became a full-blown indie game. After two months of beta testing I’m now anxiously working on the final version and can’t wait to release it!

Here’s the awesome trailer, created by my friend Linh Mai:

If you want to know more about the game follow @dontdropmeo in Twitter!


Another Update to the iOS Support Matrix: iOS 10, iPhone 7 Added

EDIT: Please use the updated version

Download iOS Support Matrix 4.2

Well, the title says it all. I didn’t find the time yet to come up with a new layout and icons for the new features (like “no headphone jack” 😜). But I guess the most important thing here are the new device identifiers and which devices stopped being supported by iOS 10, and that’s all included.

Download iOS Support Matrix v4.2 (PDF)

As always, please let me know in the comments if you find any errors or have suggestions for the next update!

There is also a more compact version of this matrix available, from the authors of the original version (get it at iossupportmatrix.com). I just still prefer this old layout because of all the details like identifier strings and the feature matrix, even if the file is now almost too big to view it on my 27″ monitor.

iPhone SE, iPad Pro, New Features added to iOS Support Matrix

EDIT: Please use the updated version

iOS Support MatrixHere’s another update of the iOS Support Matrix. I’ve included the new devices that came out this week and added many new device features to that tiny icons section. To make room for the new stuff, I had to add another row and replace some of the older icons. Here’s a list of all changes:

New Icons:

  • 3D Touch
  • Barometer
  • Apple Pencil
  • Bluetooth version
  • Siri
  • CarPlay
  • HealthKit
  • Split View
  • Slide Over & Picture in Picture
  • Watch Connectivity

Removed Icons:

  • Bluetooth LE (replaced with exact BT version)
  • ARM version (you’ll find that in the header of each section)
  • Wifi (all devices have it)
  • Location Services (all devices have it)
  • Microphone (all devices except  iPod touch 1-3 have it. The icon is now used to indicate Siri support)

Download iOS Support Matrix v4.1 (PDF)

You’ll notice that the bigger this chart gets, the less usable it is. Maybe with the next batch of devices I’ll come up with a better format, maybe something interactive where you can filter for specific features you need for your app. Any suggestions are welcome!

By the way, I got most of the infos that weren’t in the original file from these great Wiki pages:

Wikipedia – List of iOS devices
iPhone Wiki – List of Models

Let me know in the comments if you find any errors!

Here’s a quick Update to the iOS Support Matrix

Edit: Please use the updated version

iOS Support Matrix Update
I know that there will be new iOS devices coming out in the next weeks, but I needed an updated version of the great (but outdated) “iOS Support Matrix” now. So I just went ahead and made one 😉

I’ve added five new devices, the iPod touch 6th gen, iPhone 6s & 6s Plus, iPad mini4 and iPad Pro. I also changed the names of the iPads to the common number scheme (“iPad 3” instead of “new iPad”).

Hope you like it and please let me know if you find any errors.

Download PDF

PS: I didn’t have time to add icons for the new hardware features like Barometer and 3D Touch, please bear with me!

How to implement Unique Constraints in Core Data with iOS 9

With iOS 9, Apple introduces Unique Constraints for Core Data. This new feature was briefly demonstrated at WWDC in June (Session 220). When I tried to implement it, I came across a few pitfalls and unexpected behavior, so I thought this might be worth a blog post.

Unique Constraints are a way to declare a custom attribute to be unique across all instances of an entity. Its intended use case is the import of external data that should be merged with existing objects in the database.
Continue reading How to implement Unique Constraints in Core Data with iOS 9