1

Our iPhone Apps run beautifully up through iOS 6, but certain features do not work on the iOS 7 beta. My fear is that we won't be able to complete our iOS 7 compatibility before iOS 7 is released and our customers will upgrade to iOS 7 and the App will be unusable....resulting in negative reviews, etc...

Does anyone have any suggestions on how to best handle this? Is there a way to set a Maximum SDK that the App supports?

iTrout
  • 1,454
  • 2
  • 12
  • 21

4 Answers4

0

I think if you do this you will get bad reviews anyway, but it may be your only option if you can't revise in time.

You need to take a look at this SO answer and use a condition with a macro like

if(SYSTEM_VERSION_LESS_THAN_OR_EQUAL_TO(@"6.1.3")) {
    // work normally
} else {
    // fail gracefully
} 

to disable any part of your app that is broken post that version number.

I don't think there is a way to restrict users with later versions installing and trying to use your app as there is with users with versions earlier than you require. The reason is probably that while it's OK to use new features and lock out older devices it generally isn't OK to not support new devices indefinitely.

Community
  • 1
  • 1
Adam Eberbach
  • 12,309
  • 6
  • 62
  • 114
0

If you run a binary built against the iOS N SDK on iOS N+1, the device substitutes the behaviour of iOS N. Assuming you have an iOS 7 device set up for testing, try downloading anything from the App Store — you should see gradients and wide UISwitches and view controllers acting properly when wantsFullScreen is set to NO and everything else.

So you don't need to handle anything. It's dealt with automatically on the device.

Tommy
  • 99,986
  • 12
  • 185
  • 204
0

There is not maximum iOS version setting anywhere but it shouldn't necessary.

If you build the app with Xcode 4.6 / iOS 6 SDK, then run it on device w/iOS 7 installed, does it work OK? If so, that's what you should release first (or leave in the app store). If not, you need to fix just those problems that show up and release an update made with Xcode 4.6. Just fix those issue, don't try to restyle and redo everything for iOS7 yet. Most apps built with Xcode 4.6 won't need fixes to run on iOS 7.

When you build with Xcode 5 / iOS 7 SDK, then you'll want to fully use and support iOS 7. But you can't release that build until we get a gm Xcode/SDK anyway. You don't have to go down this path right away if you aren't ready.

progrmr
  • 75,956
  • 16
  • 112
  • 147
0

Try systemVersion of UIDevice.

Format is 6.1.3 or 7.0.1

Split them with '.' to get major version

https://developer.apple.com/library/ios/documentation/uikit/reference/UIDevice_Class/Reference/UIDevice.html#//apple_ref/occ/instp/UIDevice/systemVersion

youknowone
  • 919
  • 6
  • 14