问题
I am developing iOS app with ZBar SDK for QR-codes scan. Here ZBar SDK creators tell us that
Only the iPhone 3GS and iPhone 4 are supported, as they have a camera with auto-focus. The ZBar library does not support the iPhone 3G and is unlikely to ever support it.
So I have added auto-focus-camera key to the Required Device Capabilities section of my plist. All is great, except one thing - iPad 2 & iPod Touch 4th Gen doesn't have auto focus camera, but still are able to use my ZBar SDK code to scan QR-codes. But my auto-focus-camera key doen't allow users with iPad 2 and iPod Touch 4th Gen to download my app from App Store.
In other words I need to find a way to make my app installable via App Store on these devices:
- iPhone 3GS.
- iPhone 4.
- iPhone 4S.
- iPad 2.
- The New iPad.
- iPod Touch 4th Gen.
And on these devices my app should not be available:
- iPhone 2G.
- iPhone 3G.
- iPad.
- iPod Touch 3d Gen and
My question is: how to make my app available in App Store for first list devices' user and not available for second list devices' users?
Any help will be appreciated!
PS: I have seen this question on SO, but it doesn't help me much.
PS2: This app has the desired set of available devices.
Requirements: Compatible with iPhone 3GS, iPhone 4, iPhone 4S, iPod touch (4th generation), iPad 2 Wi-Fi, iPad 2 Wi-Fi + 3G, iPad (3rd generation) and iPad Wi-Fi + 4G.
Does anyone know, how they did it?
PS3: At the same time adding both still-camera and auto-focus-camera gives us this:
Requirements: Compatible with iPhone, iPod touch (4th generation), iPad 2 Wi-Fi, iPad 2 Wi-Fi + 3G, iPad (3rd generation) and iPad Wi-Fi + 4G.
And that is not a great way as long as we have all iPhones as suitable for our app, instead of 3GS, 4 and 4S.
PS4: My app is here and it has such requirements:
Requirements: Compatible with iPhone 3GS, iPhone 4, and iPhone 4S.
回答1:
Word Lens requires the armv7, opengles-2, and video-camera device capabilities.
回答2:
I'm not sure that you can do that
Maybe you can do a check in your code and if the device model is not the good one, just pop a new view saying that the model that the user is using can't make work the application ?
You can detect the model with this:
#import <sys/utsname.h>
NSString*
machineName()
{
struct utsname systemInfo;
uname(&systemInfo);
return [NSString stringWithCString:systemInfo.machine
encoding:NSUTF8StringEncoding];
}
and give that:
@"i386" on the simulator
@"iPod1,1" on iPod Touch
@"iPod2,1" on iPod Touch Second Generation
@"iPod3,1" on iPod Touch Third Generation
@"iPod4,1" on iPod Touch Fourth Generation
@"iPhone1,1" on iPhone
@"iPhone1,2" on iPhone 3G
@"iPhone2,1" on iPhone 3GS
@"iPad1,1" on iPad
@"iPad2,1" on iPad 2
@"iPhone3,1" on iPhone 4
@"iPhone4,1" on iPhone 4S
Else you can try sending an e-mail to apple
回答3:
We need to use video-camera key in Required Device Capabilities section of app's plist.
来源:https://stackoverflow.com/questions/10616746/how-to-configure-ios-app-to-work-on-specific-devices