Search code examples
iosobjective-ciphoneios7ios8

How to properly check iOS version controlling (from iOS 7.0)


We are developing a project with a lot of functionality and module (Call, Chat, Update Feed and so on). It's deployment target is 7.0 to latest. This project has been developing since 2013. So there was a lot of bugs and old code. Recently this project is completed and ready to release in App Store.

But now we are finding some difficulties while testing it by QA. iOS changes many things according to it's version. We are struggling to check these changes in different versions.

For an example from iOS 8.3 the facebook sharing will have to implemented by their own SDK. The old SLComposeViewController is no more good. So we have to take care of it from iOS 8.3.

I just wondering if somehow we can get the list of these iOS versions where apple make changes, it would be easier for us to check the project installing those certain iOS version in iPhone. I think this type of information could be find in their developer site. If so any kind of information would be much helpful for us.

Thanks a lot in advance.


Solution

  • I asked very similar question couple years ago (not saying this is a duplicate!), and all I got then was - "read the documentation carefully". Unfortunately it still remains true even now, but you can get some tools to help you out.

    For external libraries, I strongly recommend using either CocoaPods or Carthage. You can specify which versions you want to support and those tools do the job for you to check whether that library you want to include will be compatible with your deployment targets.

    For your own code, you have to just write XCTests to verify the most crucial parts of your app or possibly the whole codebase (testing ftw) and stick with version checking. That will be slightly more zen in Swift 2.0 where you'll be able to do API checking as well with #available(iOS 9.0) { ... }.