I am a newbie to Swift/Objective-C and I am really confused about (the two) languages, devices, and iOS versions. I can't figure out what I should be learning! I know Swift (2.0) is the language of the future and iOS 9 is presumably the OS of the near future. Still, as an amateur, people I'm coding for include some with iPhone 4's (iOS 7) and iPad 2's (iOS 8, maybe not upgraded any further). I'd like to write code they also can use. ... Will I be able to do this with Xcode 7 (if I set the Build Target low enough)? Should I just find an older version of Xcode? If an app runs OK on iOS 7, will it be OK on later iOS's (assuming I include different sized graphics)? ... Or do I basically just have to decide--learn Swift 2 and target new devices or learn older Objective-C and target "legacy" OS's?
There is no guarantee that any app written using current tools will work properly in future devices
nor future iOS versions. Lot's of apps were broken simply by the transision from iOS 7 to 8 and
again from 8 to 8.4. Many more, are currently broken as shown by the many complaints about
various apps on iOS 9 and OSX El Capitan betas.
If you do not need to support iOS prior to 7, Swift should be fine. If you do need to support lower
versions, you cannot use Swift.