2

I'm want to target the iPhone 4, iPhone 4S, iPod Touch (4th generation). I do not want to target the iPhone 3G and iPhone 3GS. I've seen some post that said this is not possible. However, I notice in the App Store that some apps do this such as the picture below.

How would I accomplish this?

enter image description here

Vikings
  • 2,527
  • 32
  • 45
  • 1
    have you tried googling it? there is lots of information about this out there – Justin Meiners Apr 24 '12 at 00:14
  • @JustinMeiners thank you that is truly great advice, I must consider that next time – Vikings Apr 24 '12 at 00:28
  • It is, here is just a few related questions I found in 3 minutes http://www.iphonedevsdk.com/forum/iphone-sdk-development/59339-require-iphone4-only-my-application.html http://stackoverflow.com/questions/448162/determine-device-iphone-ipod-touch-with-iphone-sdkhttp://stackoverflow.com/questions/3339722/check-iphone-ios-version http://stackoverflow.com/questions/9897680/best-way-to-support-functionality-for-previous-ios-versions-and-deprecated-metho/9898000#9898000 – Justin Meiners Apr 24 '12 at 14:29
  • @JustinMeiners well one link does not work, and the other two did not answer my question which is why I created this post. Don't worry, my question was answered though. – Vikings Apr 24 '12 at 17:38

3 Answers3

3

Those requirements show up because the developers have put armv7 as an entry in the UIRequiredDeviceCapabilities Info.plist key. There's no key specifically to target the iPhone 4 and up, although you can probably eliminate the 3GS using one of the other keys.

Why are you trying to stop people from installing your app on older devices?

Jim
  • 72,985
  • 14
  • 101
  • 108
  • Yes, my scrollview and picker won't work properly on the iPhone 3G/3GS, I immediately though armv7 but the iPhone 3GS is armv7 – Vikings Apr 23 '12 at 23:45
  • 1
    Is this an app that is already on the App Store? Apple don't let you add restrictions to existing apps. Why don't the things you mention work on those models? Surely it's better to just fix that instead? – Jim Apr 23 '12 at 23:49
  • It's currently in the App Store, but i'm about to make an update that app. I just happened to come across this error after actually testing my app on the 3G/GS. The OS version doesn't matter, just seems to be those devices. – Vikings Apr 23 '12 at 23:52
  • The UIScrollView and UIPicker won't work properly, and the only way to fix it is to disable the scroll from within the picker. Since the picker takes up most of the scroll view, its very difficult to scroll. Strangest error i've come across yet – Vikings Apr 23 '12 at 23:54
  • I'm just going to mismatch keys until I get the desired results, thanks – Vikings Apr 24 '12 at 00:29
  • As I said before, Apple don't let you add restrictions to existing apps. If you use this, you'll have to delete your existing app from the App Store and upload it as a brand new app. Your existing users won't be prompted to upgrade, if it's a paid app, they'll have to pay again, and you'll lose your chart positions. – Jim Apr 24 '12 at 06:33
1

I believe you want to set UIRequiredDeviceCapabilities to specify exactly which features your app needs. For example, the camera-flash key is only going to be true for iPhone4 and later, if that's what you need.

There's also a Q&A article on it.

ckhan
  • 4,771
  • 24
  • 26
0

In addition to setting the features the device needs with UIRequiredDeviceCapabilities, you can also specify the minimum iOS version that needs to be installed.

See this Apple Technical Note, TN2250.

Cœur
  • 37,241
  • 25
  • 195
  • 267
Chris Livdahl
  • 4,662
  • 2
  • 38
  • 33