One of the limiting factors to the life of iPhones is the incompatibility with apps.

Eventually, most apps require updates to continue working. And eventually, older iOS versions are no longer supported for these apps, and the App Store won't let you download them.

At the same time, some older phones have trouble running the newer iOS versions without massive slowdowns, so that pretty much forces people into buying a new phone (intentionally, I'm assuming).

It's even worse for jailbreakers, as you can never update to the current iOS without losing your jailbreak.

However, the "minimum required" iOS version is often bullshit. The app would often work on your older iOS, but the app developer doesn't feel like supporting that version anymore, so they simply introduce a requirement to have a fairly recent iOS in order to download it. There's no way around this on non-jailbroken phones.

However, there's a great Cydia (jailbreak) tweet called "Lowerinstall" which can override the App Store and allow you to download anything you want. Here's how:

1) Add as one of your sources

2) Search for "Lowerinstall" and download/install it

3) Reboot device

4) Go to Settings and scroll down to Lowerinstall, and click on it

5) Select "Enabled", enter the iOS version you wish to spoof (the one you want to pretend to have)

6) Under "Device", you should typically enter the correct device you have. You will be entering the phone's "identifier", which isn't always what you'd think it would be. Go here and scroll down to the iPhone section to find your phone's identifier. Only spoof this if the App Store requires a higher version than your current phone. An example of an identifier would be "iPhone7,2" to represent the iPhone 6.

7) Open App Store, and download should work!

Sometimes the app will work, sometimes it won't, sometimes it will have glitches/bugs, but it's better than nothing.

I was able to continue playing Tap Sports Baseball 18 on iOS 10 through this trick.