I am developing a Mac app that is only useful for laptop owners (MacBooks) and plan on distributing this app on the Mac App Store. For the iOS App Store, you can specify in the plist UIRequiredDeviceCapabilities so that only users with the proper device can see the app in the store. Is there a way to do the same with the Mac App Store?
-
Since I have a gut feeling that this isn't supported, I've opened an enhancement request on Apple's Radar (https://bugreport.apple.com). #10730020 – Andrew Jan 20 '12 at 17:49
-
Interesting question. However you may want to rethink not letting non-MacBook owners see your app. It's not unheard of to own both an iMac and a MacBook, so a potential customer might be browsing on their iMac and not know about your app for their MacBook. Also, remember the MacMini is quite portable and someone might tote one of those around, could happen. – NJones Jan 20 '12 at 18:32
-
@NJones you bring up a good point about customers shopping on a secondary device and I agree with that point, however it'd still be nice to have because Mac Minis don't have iSight cameras and iMacs don't have batteries. The list goes on and on. – Andrew Jan 20 '12 at 18:58
2 Answers
While there is no equivalent to UIRequiredDeviceCapabilities
, some capabilities can be specified in a PreInstallRequirements.plist
.
This approach let you specify minimum RAM, GPU capabilities, minimum minversions.
See here:
https://developer.apple.com/library/archive/qa/qa1748/_index.html#//apple_ref/doc/uid/DTS40011181

- 5,962
- 5
- 39
- 61
From page 39 of the iTunes Connect Developer Guide:
If your iOS app requires a specific device capability (i.e. telephony, GPS, accelerometer, etc.) to function properly, you will need to be sure to code this into the info.plist of your binary utilizing the UIRequiredDeviceCapabilities key. Refer to the Build-Time Configuration Details section of the iOS Application Programming Guide to learn more. At runtime, iOS cannot launch your application unless the declared capabilities are present on the device. Further, the App Store requires this information so that it can generate a list of requirements for user devices and prevent users from downloading applications that they cannot run. It is not necessary to specify required device capabilities for Mac OS X apps.

- 54,662
- 15
- 117
- 144
-
1Um, I'm not sure if you read my question thoroughly, I'm not asking about iOS at all. I want to do this for a Mac app because I WANT to limit the app to just MacBooks. UIRequiredDeviceCabilities is iOS specific. I want to know if there is a Mac equivalent. – Andrew Jan 20 '12 at 17:37
-
-
@PeterHosey : Yes, I understand that it is not necessary. But if an app relies on the iSight camera, and a mac mini user bought the app and realized it was worthless for them, they'd want a refund. That's a hassle for both them and the developer. So I want to know if it is possible, not if it is necessary. You could replace 'iSight camera' with any number of features that are specific to certain Macs. – Andrew Jan 21 '12 at 15:58
-
@Andrew: This statement is Apple-speak for "It is not possible to restrict Mac OS X apps by hardware capabilities (at this time)." – Evan Mulawski Jan 21 '12 at 19:20