开发者

Blocking app from running on iOS 3.2 without blocking it on 3.1

I'd like to release an app that runs on old iPhones - that is, that runs on 3.1 - but blocking it from running on iPad's iOS 3.2.

Game runs perfectly on iPhones with iOS 3.1.3 and newer, and on iPads with iOS 4 and newer. However, some scaling issues occur on iPads with iOS 3.2.

Is it possible to block the app from appearing as compatible with iOS 3.2 on iTunes Store and to block if from installation on iOS 3.2, but still make it run on iOS 3.1.3?


Some clarifications:

  • We definitely don't want to block iPad users.
  • Game fully works on iPhones and iPod Touches with iOS 3.1.3.
  • Game fully works on iPads with iOS 4.
  • The only combo with issues is iPad with iOS 3.2.
  • Runtime solutions are not what we're looking for.

I suspect this is due to Apple's scaling code intended for retina displays accidentally making it into iOS 3.2. While I could certainly spend loads of time pinning down the issues, I don't feel like it. iOS 3.2 has a small user base, and iPad users have no reason to avoid upgrading. At the same time, we're trying not to cut off iPhone 2G, iPhone 3G, iPod Touch 1G and iPod Touch 2G users who cannot upgrade or don't want to upgrade due to slowdowns.

Also, telling users that they just bought an app that won't work on their device would result in bad user exper开发者_开发百科ience. Blocking off a specific version of OS from installation via the App Store would be ideal, without blocking all lesser versions, too.


Technically you can do that. It's not recommendation to do such!
E.g. in applicationDidFinishLaunching you could do:

if ( [[[UIDevice currentDevice] model] rangeOfString:@"iPad"] != NSNotFound && [[[UIDevice currentDevice] systemVersion] floatValue]==3.2) 
    exit(0);

There high enough chances Apple will approve that app. Not because they will be happy with your solution but because they will not test your app on iPad with iOS 3.2.

You have no way to allow running app on 3.1 and higher except iPad 3.2. The only legal way I see to prevent your app from being installed on 3.2 - set 3.2.1 as deployment target of your app. If you cannot guarantee your app will work on all devices, move deployment target higher.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜