Самый эффективный способ сделать 22 различных сборки

Хорошо, я нашел способ сделать это.

Это заключает сделку с флагами Окна. Таким образом, вот код, я использовал:

Qt::WindowFlags flags = windowFlags()

Qt::WindowFlags helpFlag =
Qt::WindowContextHelpButtonHint;

flags = flags & (~helpFlag);   
setWindowFlags(flags);

, Но путем выполнения этого иногда значок диалогового окна сбрасывается. Таким образом для проверки значок диалогового окна не изменяется, можно добавить две строки.

QIcon icon = windowIcon();

Qt::WindowFlags flags = windowFlags();

Qt::WindowFlags helpFlag =
Qt::WindowContextHelpButtonHint;

flags = flags & (~helpFlag);   

setWindowFlags(flags);

setWindowIcon(icon);
5
задан user212253 16 November 2009 в 17:35
поделиться

4 ответа

На мой взгляд, 22 разных сборки, которые отличаются только одним исходным файлом, неверны ...

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

2
ответ дан 14 December 2019 в 13:39
поделиться

Один из способов, которым я добивался в прошлом, - использовать локализацию. Когда вы используете макрос с добавлением NSLocalizedString , некоторые из них могут указывать tableName (то есть файл строк, отличный от значения по умолчанию). Затем, когда мне нужна сборка с другим брендом, я просто создаю новый файл .strings с соответствующими парами ключ-значение.

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

2
ответ дан 14 December 2019 в 13:39
поделиться

Я бы, наверное, написал сценарий, который использовал бы шаблон .xcodeproj и sed для генерации всех необходимых комбинаций.

1
ответ дан 14 December 2019 в 13:39
поделиться

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

Сценарии, безусловно, могут выполнить свою работу, но как только проект разрастется до значительного количества файлов или если вы обнаружите, что изменили файл количество сборок, изменение скрипта могло вызвать затруднения. CMake позволит вам организовать эти сценарии, чтобы в будущем было, по крайней мере, немного легче вносить изменения.

1
ответ дан 14 December 2019 в 13:39
поделиться