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

У меня появился возврат в iTunes App Store из-за проблем с аппаратным обеспечением iPhone 4.

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

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

Ура!

Ответ 2

Собственно, может быть способ:

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

См. DeviceCompatibilityMatrix

Ответ 3

Я просто нашел следующее, когда смотрел на него - это должно помочь вам представить и одобрить Apple, поскольку это рекомендации от Apple.

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

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

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

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

Ответ 4

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

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

enter image description here

Чтобы ограничить некоторую модель, например, 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.