Один проект XCode, два целевых, два приложения (iPhone / iPad), не универсальное приложение - PullRequest
11 голосов
/ 09 февраля 2011

У нас есть проект XCode, который сначала создавался как универсальное приложение, а затем мы решили, что оба приложения должны быть в одном двоичном файле, создали две цели.

  1. Первый называется: AppName и предназначен для iPhone: базовый SDK - 4.2, а цель развертывания - 3.1.3. Целевым устройством является iPhone.
  2. Второй называется: AppNameHD и предназначен для iPad: базовый SDK - 3,2, а целевое устройство - iPad.

Прошло несколько недель, и мы легко собираемся для каждой из этих платформ и можем развернуть их как на iPad, так и на iPhone.

Теперь мы готовы отправить заявку в магазин приложений, и я беспокоюсь о возможном отклонении кода. Мы хотим представить приложение только для iPad на данный момент, но я посмотрел, что на сайте itunesconnect нигде нет места, и я не могу указать целевое устройство, так как проект был структурирован в первую очередь как универсальное приложение. Мне интересно, как они определяют, на каком устройстве тестировать бинарный файл.

Больше информации об архитектуре: Мы используем созданный по умолчанию файл info.plist для обеих целей. Должен ли у нас быть отдельный info.plist для каждой цели? какие различия должны присутствовать между двумя файлами .plist.

Здесь приложен фактический файл info.plist, который мы используем.

Заранее спасибо за помощь. enter image description here

Ответы [ 4 ]

7 голосов
/ 09 февраля 2011

Прежде всего, нет никаких причин, по которым ваш базовый SDK для цели ipad должен быть 3.2.Фактически, поскольку iOS 4.2 работает на ipad, вы собираетесь ограничить клиентскую базу, не меняя базовый SDK на 4.2.Вы можете установить целевую ОС на iOS 3.2, чтобы приложение работало на iOS 3.2.

В настройках сборки целевой конфигурации найдите «семейство целевых устройств», в котором будет указано, является ли цель целевой.«ipad», «iphone» или (для универсальных приложений) «iphone / ipad».

Я также перенес универсальное приложение на две отдельные цели - это было неинтересно.Вы должны очень тщательно проверить настройки сборки и файлы .plist, чтобы убедиться, что они соответствуют нормам для целевого целевого устройства, особенно проверьте: Базовый SDK, цель развертывания iOS, семейство целевых устройств и файл Info.plist

4 голосов
/ 10 февраля 2011

Должен ли у нас быть отдельный info.plist для каждой цели?

  • Да.

Какие различия должны присутствовать между двумя файлами .plist?

  • Идентификатор пакета (например, com.example.app для iPhone / iPod и com.example.app-hd для iPad)
  • (необязательно) (отличается для iPhone, iPhone @ 2x и iPad)
  • (опционально) Начальное изображение (отличается для iPhone, iPhone @ 2x и iPad)
  • (необязательно) Поддерживаемые ориентации интерфейса (по моему опыту, как минимум 2 ориентации для iPad)
2 голосов
/ 09 февраля 2011

Apple использует ваш Info.plist для определения цели (ей) в itunesconnect.

Глядя на ваш скриншот, я думаю, вам просто нужно убедиться, что вы не указали NSMainNibFile ~ ipad и UISupportedInterfaceOrientations ~ ipad вцель iPhone и наоборот для цели iPad (т.е. не включают записи, специфичные для iPhone).Кстати, открытие Info.plist в XCode предоставляет гораздо больше описательных имен для ключей, а также предоставляет выпадающий список для допустимых значений.

Также будьте осторожны с UIRequiredDeviceCapabilities, то есть, как правило, включайте в свой список только ключесли это абсолютно необходимо.

0 голосов
/ 27 марта 2014

Чтобы использовать приложение IPhone в iPad, образ запуска не получается, решение:

Выберите «Не использовать каталог активов» для запуска изображений в общих настройках.Добавить,

  • Default@2x.png (640x960)
  • Default-568h@2x.png (640x1136)
  • Default.png (640x960) нетиспользовать (320x480)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...