Эта проблема несколько раз обсуждалась на Stackoverfl0w, но, к сожалению, я не видел действительно удовлетворяющего решения.Как запретить инсталлятор .pkg от поиска включил .app (ы) в местах, отличных от указанного установочного каталога,
Ситуация:
(Только включен, потому что большинство предыдущих ответов пошли с линией «! Просто не делаю это Там нет причин, чтобы иметь несколько версий приложения .. и т.д.», который я согласен с большинством случаев, но не с этим.)
В настоящее время мы отправляем файл .pkg, который устанавливает наш пакет программного обеспечения в/Applications/$ CompanyName/$ SoftwareName_ $ VersionNumber. Включение номера версии в имя папки и не удаление старых версий необходимо, так как многие наши клиенты используют нашу текущую версию и бета-версию параллельно, и, кроме того, многие клиенты работают с более старым программным обеспечением, поскольку они сертифицировали его для конкретной но они используют текущую версию для текущих проектов.
Мы использовали только средства командной строки и библиотеки для macOS, поэтому для нас это работало совершенно много лет.
Однако мы начали переносить наши графические приложения из Windows только в Windows/macOS/Linux, которые отправляются в формате .app под macOS.
Вопрос:
Если .app поставляется в инсталлятор .pkg, установщик ищет отверстия диска для старых экземпляров одного и того же .app. Если он находит один, он заменяет найденный экземпляр (очень плохой), а также не помещает .app в указанный установочный каталог (также плохо).
Решения, которые я нашел:
а) Изменение CFBundleIdentifier в .app для каждой выпущенной версии. Кажется, это не чистый способ для меня. Я предполагаю, что это также приведет к появлению многократного появления .app в Launchpad
b) Поиск всех экземпляров .app до того, как программа установки сделает это, закрепив их и извлекая из них снова после установки. (Также не похоже на хорошее решение.)
У кого-то есть чистый способ для этого? Не могу поверить, что Apple не имеет способа указать, что это поведение должно быть опущено во время создания .pkg.
Есть ли лучшая документация, то один я нашел ?:
http://s.sudre.free.fr/Stuff/Ivanhoe/FLAT.html (хорошую документацию, но после ~ 8 лет бесперебойной работы, много полей по-прежнему помечены «Описание Forthcoming. ")
EDIT: Добавлен XCode в качестве тега. Нападение после получения переполнения с этим вопросом. Поблагодарили бы за любые предложения :)