I have found this Important note:
The store rejects a binary that supports only armv7s. If armv7s is included in the Valid Architectures list, armv7 must also be included.
From App Distribution Guide.
Question
Will adding to the UIRequiredDeviceCapabilities "armv7s" and "armv8" restrict users to install my app from AppStore on devices other than iPhone 5/5s/5c?
I have found these articles very useful:
I've also searched all over SO and there was no full/correct answer to my question. Maybe except this one: Limit the app working on iPhone5 only?, but it should(?) work only for iPhone 5 and iPhone 5C, not iPhone 5S.
Solution
I have found this Important note:
The store rejects a binary that supports only armv7s. If armv7s is included in the Valid Architectures list, armv7 must also be included.
From App Distribution Guide.
OTHER TIPS
Specifying armv7s
in your Info.plist
's UIRequiredDeviceCapabilities
should be enough as it means it requires compatibility with the armv7s instruction set, which in turn is compatible with arm64
and any future Ax processor.
Also it would be interesting to know why you need to restrict your App in the first place.
Up to date Apple capabilities list here. There is no official way to cut requirement between iPhone 4 and 5 besides armv7s
.
Also there is a new good reason to require iPhone 5+ devices: WatchKit apps that have no meaningful iPhone parent app. For instance a game for Apple Watch. One should prevent devices that can not possibly work with the watch from downloading the App.
From this article: How to drop support for 4S/5/5S and accomplish what is said in this article without being rejected?
"The store rejects a binary that supports only armv7s. If armv7s is included in the Valid Architectures list, armv7 must also be included."