> Practically speaking, do I need to be able to play phone games from 2009 on my 2017 iPhone? Not really. The problem is not that you can't play phone games from 2009 on your 2017 iPhone, tying 32b deprecation to a hardware revision would actually have been nice (regardless of the hardware still being able to run in 32b mode). But that's not what's happening, the problem is that you can't play phone games from 2009 o…
It's not that games from 2009 don't run, only games that haven't been updated since 2009 don't run. All a developer needs to do is recompile and push an update.
* Ensuring your code still works now that CGFloat and ints change size (can easily trip up code, I've seen things fail subtly and then grow into huge errors with combinations of NSInteger and "-1" etc)
* Updating all UI to handle new behavior (yes, just linking with a new compiler will automatically opt-in to new behavior that might totally break interactions and taps)
* If your app is really old, rewrite all UI to not assume a 320px wide screen (this can be brutal)
* Handling new restrictions and requirements such as supporting IPv6-only network (fun if your app is used to configure an IoT device over IPv4 LAN), and Transport Security (fun if your app allows users to connect to random servers around the world)
* Handling new permission models for camera/gps/contacts/photo library/audio library access, including refactoring your code to deal with asynchronous results
* Updating all your graphic assets for @2x and @3x resolution as well as new app icon sizes (hope you still have those .PSD files, and hope your designer wasn't doing pixel-perfect painting for your bitmaps!)
* The original developer must still be in business, still pay the $100/year developer fee, and still have the source code and the talent to fix it.