Russian Qt Forum
Апрель 18, 2024, 01:27 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Задать версию приложения для macOS  (Прочитано 3620 раз)
DarkHobbit
Самовар
**
Offline Offline

Сообщений: 189


Просмотр профиля
« : Август 22, 2020, 17:18 »

Добрый день.
Для опакечивания своего проекта DoubleContact под макось я использую программу macdeployqt (из Qt 5.5.1) с ключом -dmg. В Finder можно посмотреть свойства установленной программы, и в графе "Версия" у моей программы стоит прочерк.
Как бы её заполнить? Нужен какой-то ключ для macdeployqt (хелп такого ключа не показывает), или в app-каталог надо положить какой-то файлик с информацией? Или что-то ещё?
Записан

Мои проекты на Qt: DoubleContact, LInvert
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4727



Просмотр профиля WWW
« Ответ #1 : Август 22, 2020, 19:30 »

за версию (и прочие ключи) отвечает файл Info.plist, конкретно поле CFBundleShortVersionString. Например, можно перед вызовом macdeployqt прописать нужную версию:
Код:
/usr/libexec/PlistBuddy -c "Set :CFBundleShortVersionString $myVersion" MyApp.app/Contents/Info.plist
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
DarkHobbit
Самовар
**
Offline Offline

Сообщений: 189


Просмотр профиля
« Ответ #2 : Декабрь 08, 2021, 00:15 »

Спасибо! Спустя год я наконец-то выпустил DoubleContact 0.2.4 и воспользовался вашим советом.
Хоть и не буквально: команда Set не срабатывает, поскольку в сгенерированном варианте этого файла ключа CFBundleShortVersionString у меня не было, нужен Add, а заодно я и другие параметры подправил.
В общем, я просто сохранил "прилизанный" Info.plist к себе в скрипты и копирую его в Contents скриптом непосредственно перед вызовом macdeployqt. Не знаю, насколько это идейно правильно...
Записан

Мои проекты на Qt: DoubleContact, LInvert
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4727



Просмотр профиля WWW
« Ответ #3 : Декабрь 08, 2021, 10:54 »

можно добавить пустой CFBundleShortVersionString в свой шаблон, тогда достаточно лишь Set.

вообще по-хорошему Info.plist должен копироваться в пакет приложения при сборке (если пакет вообще формируется), иначе вполне себе нормальный подход. также есть специальные переменные для задания этого файла, например для qmake это QMAKE_INFO_PLIST (в cmake и qbs тоже есть своя).
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
DarkHobbit
Самовар
**
Offline Offline

Сообщений: 189


Просмотр профиля
« Ответ #4 : Декабрь 09, 2021, 14:01 »

например для qmake это QMAKE_INFO_PLIST
О-оо!
Возможно, так даже лучше будет. Доживу до выпуска 0.3.0 - попробую этот вариант.
Записан

Мои проекты на Qt: DoubleContact, LInvert
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.048 секунд. Запросов: 23.