Ограничить определенные целевые устройства iOS для отправки в App Store

Я получил отскок в магазине приложений iTunes из-за проблем с аппаратным обеспечением iPhone 4.

По сути, приложение написано для передачи всей сетевой активности в фоновый поток, чтобы пользовательский интерфейс не блокировался, пока он ожидает ответа сервера при медленном (сотовом) соединении для передачи данных. Это прекрасно работает на двухъядерных устройствах, таких как iPad 2 + iPhone 4S, но вызывает медленное время отклика и ошибки на старых одноядерных устройствах, таких как iPad/iPhone 4.

Я включил заметки на этот счет в свое представление, но мне было интересно, существует ли формальный способ ограничения целевого устройства в iTunes Connect?

Ура!

4 ответа

Решение

К сожалению, на данный момент нет списка доступных вам опций, чтобы запретить пользователю покупать приложение, но ничего из-за ограничений из-за ядер

Список: http://developer.apple.com/library/ios/#documentation/general/Reference/InfoPlistKeyReference/Articles/iPhoneOSKeys.html

На самом деле, может быть способ:

Добавление элемента в UIRequiredDeviceCapabilities в вашем Info.plist с требованием bluetooth-le следует ограничить ваше приложение для iPhone 4S/5 и iPad 3, 4 и мини. Вы также можете добавить camera-flash Требование ограничить приложение только для iPhone, если вам это нужно.

См. DeviceCompatibilityMatrix

Вы можете ограничить свое приложение только для iPhone или же iPad в настройках проекта, ограничиваясь также публикацией в App Store,

Посмотрите, где вы можете установить тип.

Чтобы ограничить некоторые модели, такие как iPhone 4/4s Вы должны сделать это программно, получив размер и перенаправив на некоторые ViewController сообщая, что ваше приложение не поддерживается в этой модели.

Смотрите здесь, как получить размер экрана.

CGSize result = [[UIScreen mainScreen] bounds].size;

switch ((int) result.height) {
    case 480: 
        NSLog(@"iPhone 4 / 4s");
        break;

    case 568: 
        NSLog(@"iPhone 5 / 5c / 5s");
        break;

    case 667:
        NSLog(@"iPhone 6 / 6s"); 
        break;

    case 736: 
        NSLog(@"iPhone 6+ / 6s+");
        break;

    default: 
         NSLog(@"Other screen size, could be an iPad or new device model.");        
         break;
}

Важно помнить, что Apple хочет максимально возможной поддержки ваших приложений, а не поддержка конкретной модели может отклонить ваше приложение. Но если вы только не поддерживаете iPhone 4/4s вы, вероятно, опубликуете как обычно. Прежде всего, попытайтесь адаптировать свой код для использования автоматического макета, только если это невозможно, вы ограничены какой-либо моделью устройства.

У меня есть опубликованное приложение, и я ограничен iPhone 4s, Это одобрено как usal.

При поиске я обнаружил следующее: это должно помочь вам представить и одобрить Apple, так как это рекомендации Apple.

Совместимость устройства

Файл информационного списка свойств (Info.plist) содержит важную информацию о конфигурации вашего приложения и должен быть включен в комплект вашего приложения. Каждый новый проект, который вы создаете в XCode, имеет файл Info.plist по умолчанию, настроенный с некоторой базовой информацией о вашем проекте. Вы можете изменить этот файл, чтобы указать дополнительные детали конфигурации для вашего приложения.

Ключ UIRequiredDeviceCapabilities позволяет вам объявить аппаратное обеспечение или конкретные возможности, которые необходимы вашему приложению для запуска. Все приложения должны иметь этот ключ в своем файле Info.plist. App Store использует содержимое этого ключа, чтобы пользователи не могли загружать ваше приложение на устройство, которое не может его запустить. Таблицы в этой главе показывают все устройства iOS и их возможности.

Надеюсь, это помогло.

Другие вопросы по тегам