Вопроса, аналогичного Locating bundles by identifier, но другая проблема:OS X: расслоение местоположения по идентификатору для вновь установленного приложения
У меня есть несколько приложений, которые должны найти пакеты друг друга по их идентификаторам. Это всегда хорошо работает, если я не сделаю совершенно новую установку всех моих приложений. Во многих случаях достаточно указать поисковому устройству на место установки для местоположения узлов, чтобы быть известным, но иногда даже этого недостаточно; Я должен запустить приложение прежде, чем его идентификатор пакета можно использовать для поиска пути. Я должен упомянуть, что я использую установщик, который копирует приложения в/Applications /, поэтому искатель никогда не открывается при установке приложений.
Похоже, что когда пакет приложений недавно установлен, он берет систему за некоторое время до обновления какого-либо внутреннего реестра, который сопоставляет идентификатор пакета в месте расположения пакета. То, что я хотел бы знать:
- где эти отображения поддерживается и
- , как я могу заставить систему/менеджер файлов/рабочее пространство для обновления карты
Спасибо за ссылку на документацию о запуске услуг. Раньше я читал большую часть этой документации, но, видимо, пропустил этот параграф. Я надеялся на более простое решение, чем использование LSRegisterURL(), например, запуск фрагмента AppleScript или что-то в этом роде, но это достаточно близко, поэтому я буду принимать его как ответ. Благодарю. –
Существует инструмент, называемый «lsregister», где-то глубоко погруженный в инфраструктуру Launch Services, которую вы можете запустить в качестве альтернативы, но я не уверен, что это проще. – hbw
htw: Я думаю, он хочет сделать это из сценария пост-полета установщика. В этом случае запуск AppleScript будет проще. Кроме того, lsregister только наклонно документирован, поэтому я не буду полагаться на него. –