Как настроить приложение iOS для работы на определенных устройствах?

Я разрабатываю приложение iOS с ZBar SDK для сканирования QR-кодов. Здесь создатели ZBar SDK сообщают нам, что

Поддерживаются только iPhone 3GS и iPhone 4, поскольку у них есть камера с автофокусом. Библиотека ZBar не поддерживает iPhone 3G и вряд ли когда-либо поддержит его.

Итак, я добавил ключ auto-focus-camera в раздел Required Device Capabilities моего plist. Все замечательно, кроме одного - iPad 2 и iPod Touch 4th Gen не имеют камеры автофокусировки, но все же могут использовать мой код ZBar SDK для сканирования QR-кодов. Но мой ключ auto-focus-camera не позволяет пользователям iPad 2 и iPod Touch 4-го поколения загружать мое приложение из App Store.

Другими словами, мне нужно найти способ установить приложение через App Store на этих устройствах:

  • iPhone 3GS.
  • iPhone 4.
  • iPhone 4S.
  • iPad 2.
  • Новый iPad.
  • iPod Touch 4-го поколения.

И на этих устройствах мое приложение не должно быть доступно:

  • iPhone 2G.
  • iPhone 3G.
  • IPad.
  • iPod Touch 3d Gen и

Мой вопрос: как сделать мое приложение доступным в App Store для пользователей первого списка и не доступно для пользователей второго списка?

Любая помощь будет оценена!

PS: Я видел этот вопрос на SO, но мне это не очень помогает.

PS2: Это приложение имеет необходимый набор доступных устройств.

Требования: Совместимость с iPhone 3GS, iPhone 4, iPhone 4S, iPod touch (4-го поколения), iPad 2 Wi-Fi, iPad 2 Wi-Fi + 3G, iPad (3-й поколения) и iPad Wi-Fi + 4G.

Кто-нибудь знает, как они это сделали?

PS3: В то же время добавление как still-camera, так и auto-focus-camera дает нам это:

Требования: Совместимость с iPhone, iPod touch (4-го поколения), iPad 2 Wi-Fi, iPad 2 Wi-Fi + 3G, iPad (3-го поколения) и iPad Wi-Fi + 4G.

И это не очень хорошо, если у нас есть все iPhone, подходящие для нашего приложения, а не 3GS, 4 и 4S.

PS4: Мое приложение здесь и оно имеет такие требования:

Требования: Совместимость с iPhone 3GS, iPhone 4 и iPhone 4S.

Ответы

Ответ 1

Нам нужно использовать ключ video-camera в разделе Required Device Capabilities для приложения.

Ответ 2

Для объектива Word требуются возможности устройства armv7, opengles-2 и video-camera.

Ответ 3

Я не уверен, что вы можете это сделать

Может быть, вы можете сделать чек в своем коде, и если модель устройства не очень хорошая, просто введите новое представление о том, что модель, которую использует пользователь, не может заставить работать приложение?

Вы можете определить модель следующим образом:

#import <sys/utsname.h>

NSString*
machineName()
{
   struct utsname systemInfo;
uname(&systemInfo);

return [NSString stringWithCString:systemInfo.machine
                          encoding:NSUTF8StringEncoding];
}

и дайте:

@"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

Кроме того, вы можете попробовать отправить электронное письмо в яблоко