Хорошо, я нашел способ сделать это.
Это заключает сделку с флагами Окна. Таким образом, вот код, я использовал:
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);
На мой взгляд, 22 разных сборки, которые отличаются только одним исходным файлом, неверны ...
Нельзя ли решить проблему? Включите все 22 различные версии вашего приложения в одну сборку и поместите 22 разных файла ключей / лицензий в папку .app, каждый из которых разблокирует одну из 22 версий.
Один из способов, которым я добивался в прошлом, - использовать локализацию. Когда вы используете макрос с добавлением NSLocalizedString
, некоторые из них могут указывать tableName (то есть файл строк, отличный от значения по умолчанию). Затем, когда мне нужна сборка с другим брендом, я просто создаю новый файл .strings с соответствующими парами ключ-значение.
Затем у меня есть цель сборки, которая создает код со значениями по умолчанию, и вторая цель, которая принимает встроенный код и копирует соответствующий файл .strings в его нужное место. Это работает очень хорошо и позволяет управлять множеством различных вариантов сборки.
Я бы, наверное, написал сценарий, который использовал бы шаблон .xcodeproj и sed
для генерации всех необходимых комбинаций.
Вы Возможно, вы захотите проверить CMake для поддержки такого большого количества сборок.
Сценарии, безусловно, могут выполнить свою работу, но как только проект разрастется до значительного количества файлов или если вы обнаружите, что изменили файл количество сборок, изменение скрипта могло вызвать затруднения. CMake позволит вам организовать эти сценарии, чтобы в будущем было, по крайней мере, немного легче вносить изменения.