Skip to main content
Leafcutter
Inspiring
July 3, 2013
Question

Best way to target a universal app to only retina iPhones and all iPads?

  • July 3, 2013
  • 1 reply
  • 812 views

I would like to restrict a universal app to be installable on all iPads and some iPhones (those with retina screens).  Is there an easy/good/approved way of doing this?

After doing a bit of research it looks like I can target the iPhones I want by adding a required device capability of front facing camera.  However doing this would remove iPad 1 from the list of supported devices.

After doing a bit more research it appears that in iOS you can modify a info.plist key so that it only applies to certain devices.  So the following requires a front facing camera on iPhones only:

<key>UIRequiredDeviceCapabilities~iphone</key>

                              <array>

                                        <string>front-facing-camera</string>

                              </array>

Will this work for an AIR iOS project?  Everything seems to compile ok with no warnings so I'd like to believe it will work.  Has anyone tried it and know either way?

There may be an issue with requiring a device capability and not using it explicitly, but some developers appear to have successfully used this method to target apps to specific phones and have their apps approved by Apple.

This topic has been closed for replies.

1 reply

Leafcutter
Inspiring
July 7, 2013

** UPDATE **

After testing an upload it appears that you can't qualify UIRequiredDeviceCapabilities with a device.

Projectitis
Inspiring
July 7, 2013

I'd be interested in this too.  Any further thoughts?

What do you mean by "can't qualify UIRequiredDeviceCapabilities with a device"?  Do you mean that specifiying these required capabilities has no effect?

Leafcutter
Inspiring
July 8, 2013

When you try to upload the app to the app store you get a message saying that the Info.plist has an error in it because you can't qualify UIRequiredDeviceCapbabilities with a device specific identifier.

As far as I can tell the only options are:

make the app work on a 3GS phone.  It basically means cutting down some of the functionality and therefore reducing the quality of the user experience which in turn might impace the 'value for money' of the app compared to a full iphone5 or ipad experience

or

(ii) release separate iphone (restricted to 4,4s,5) and ipad versions.  This is ok but it means that the app isn't universal and users have to buy it twice if they have an iphone and an ipad.  I would prefer to be able to produce one app that works everywhere where there is the right hardware to run it.