Лучшие практики управления ресурсами при работе с несколькими iDevices?

Учитывая, что семейство iDevices расширяется, я предполагаю, что это проблема, с которой начали сталкиваться больше людей, чем я:

Как вы эффективно управляете ресурсами, такими как 3D-модели, текстуры, полноэкранные изображения и т. д., когда вы пишете приложение, предназначенное для нескольких iDevices?

В основном вопрос состоит из двух частей:

1) Можно ли предоставлять в AppStore отдельные пакеты для одного и того же приложения, при этом для разных устройств будут предоставляться разные пакеты (например, отдельный пакет, который пользователь загружает для iPad по сравнению с iPhone 3GS) или единственный способ предоставить «Game X» и «Game X HD», которые, кажется, стали популярными в AppStore?

2) Если ответ на № 1 отрицательный, то как лучше всего? Оставлять только максимально возможное разрешение всех ресурсов и уменьшать разрешение во время выполнения или сохранять готовые, например, полноэкранные изображения, соответствующие дисплеям iPad, iPhone и iPhone 4?

Любые входные данные и предложения очень приветствуются. Мой текущий подход заключается в том, чтобы поддерживать эквивалентность 3D и текстур между устройствами, но сохранять готовые изображения для всего, что должно точно заполнять экран, но я считаю, что это крайняя трата полосы пропускания, особенно при загрузке на iPhone 3, где все изображения с высоким разрешением никогда не будут использоваться.

Заранее спасибо!


person simon    schedule 29.11.2010    source источник


Ответы (1)


  1. Вы можете подать разные заявки на «Игру» и «Игру HD». Однако Apple придирчива к этому — версия для iPad должна «предоставлять какие-либо дополнительные функции, чтобы отличать ее от вашей версии только для iPhone. Как указано в разделе 2.11 Руководства по рассмотрению приложений» — или Apple отклонит ее — так же, как они сделали приложение из чьего ответного письма я взял цитату :(

  2. При создании универсального двоичного файла вы можете префиксировать файлы ресурсов, например:

ipad~picture.xib

or

iphone~picture.xib

чтобы иметь только те ресурсы, которые используются при запуске на соответствующей платформе. Таким образом, вы можете сделать это с файлами «png» и тому подобным, и просто загрузить «picture.png» — с автоматическим использованием соответствующего файла.

person Brad    schedule 29.11.2010
comment
Спасибо, я бы не хотел иметь HD-версию игры, так как я чувствую, что если вы покупаете ее для iPhone, вы должны получить ее бесплатно и для iPad, вместо того, чтобы покупать две копии. - person simon; 29.11.2010