pkgbuild и перемещенное приложение

Я создаю установщик приложения с инструментами pkgbuild и productbuild в OS X. Созданный мной пакет устанавливает мое приложение в папку /Application. Теперь, если я перемещу это приложение в другое место с помощью NSFileManager (используя другое мое приложение), мой пакет переустановит его в новое место, но в /Application, где он предназначен для установки.

Это похоже на кэширование пути к файлу, могу ли я как-то «сбросить деньги», чтобы мой pkg установил приложение в нужное место?

Я заметил это на Mavericks и El Capitan. Я считаю, что это верно и для Йосемити.


person andrey.s    schedule 23.10.2015    source источник
comment
мой пакет переустановит его в новое место, но в /Application, где он должен быть установлен. Не могли бы вы объяснить это? Вы пытаетесь сказать, что установка будет установлена ​​не в /Applications, а туда, куда вы переместили ранее установленный пакет приложений?   -  person TheDarkKnight    schedule 23.10.2015
comment
@TheDarkKnight точно! он пытается установить его на путь, по которому я переместил ранее установленный пакет приложений   -  person andrey.s    schedule 24.10.2015


Ответы (1)


если я перенесу это приложение в другое место

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

Когда приложение копируется в /Applications или запускается в первый раз, сведения о приложении регистрируются в Launch Services. Когда пользователь запускает приложение, дважды щелкнув его пакет, Launch Services просматривает зарегистрированные приложения и решает, что на самом деле запускается.

Установщик OS X работает в тандеме со службами запуска, поэтому, когда пакет должен быть скопирован из пакета, он сначала проверяет, было ли зарегистрировано и существует то же самое приложение; если приложение имеет, то копирование не произойдет. Это можно посмотреть в журналах установки в /var/log/install.log.

Наличие нескольких копий одного и того же приложения может привести к путанице, и я рекомендую вам не делать этого. Если вы хотите отложить пакет и переустановить его, переместите его в корзину, что приведет к удалению его регистрации из Launch Services.

person TheDarkKnight    schedule 26.10.2015