Динамическая нумерация версий в Default.png - PullRequest
1 голос
/ 09 декабря 2011

У меня есть Default.png, в котором указан номер версии. Каждый раз, когда я обновляю свое приложение, я должен изменить его как в облегченной, так и в полной версии default.png и default@2x.png. Нет хлопот, нет?

Я почти уверен, что поступил неправильно. Что я должен сделать вместо этого? (Я хотел бы показать номер версии при запуске, а не просто отменить ее.)

Ответы [ 2 ]

1 голос
/ 09 декабря 2011

Компоновка изображений во время компиляции

Если ваш логотип не нужно менять, кроме номера версии, то вы можете использовать выбранную графическую библиотеку во время компиляции для рефакторинга png. Псевдокод ниже:

Псевдо-код:

UpdateLogo(String logoName, String version)
{
    WidgetImage MyLogo(logoName + ".png");
    MyLogo.DrawText(800, 650, version);
    MyLogo.Write(logoName + "Final.png");
}

UpdateLogo("Logo.png", "Version 1.0.0");

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

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

Для отображения в запущенном приложении

Вы должны использовать шрифт, чтобы нарисовать номер версии поверх логотипа. Затем вы можете просто включить файл ресурсов, который является текстовым и может быть легко обновлен автоматическими инструментами для каждой сборки.

Источники

0 голосов
/ 09 декабря 2011

В Руководстве Apple по человеческому интерфейсу сказано, что файл Default.png не следует использовать в качестве заставки; он должен представлять все элементы управления пользовательского интерфейса, которые будет отображать приложение, но без какого-либо локализуемого текста или содержимого. (Подумайте, как ведут себя встроенные приложения, такие как iPod и Контакты.)

Если вы делаете это для клиента, а он требует этого, вы всегда можете использовать «Но магазин приложений может отклонить его за нарушение их условий!» аргумент.

Конечно, это не относится к случаям, когда вы не отправляете в Магазин, или если вам просто все равно. :)

Техническое дополнение для людей, публикующих выше: убедитесь, что любой png-композитинг, который вы добавляете в процесс сборки, запускается до выполнения pngcrush, чтобы вы не заменяли оптимизированное изображение сгенерированным скриптом (и, вероятно, неоптимизированный) один. Вы также можете столкнуться со странными проблемами, если попытаетесь сделать это после запуска pngcrush (он не отображается), в любом случае.

...