类似Locating bundles by identifier一个问题束的位置,但不同的问题:OS X:通过识别新安装的应用程序
我需要通过自己的ID找到彼此的捆绑多个应用程序。这总是很好,除非我全新安装所有的应用程序。在很多情况下,将取景器指向捆绑位置的安装位置就足够了,但有时甚至还不够;我必须先运行该应用程序,然后才能使用捆绑ID来查找路径。我应该提到,我使用的是将应用程序复制到/ Applications /的安装程序,因此安装应用程序时从未打开过查找程序。
看来,当新安装应用程序包时,系统需要一段时间才能更新一些内部注册表,以便将包ID映射到包位置。我想知道的是:
- 被这些映射维护地方和
- 我怎么能强制系统/文件管理器/工作区更新地图
感谢您提供Launch Services文档的链接。我之前曾阅读过这个文档的大部分内容,但显然错过了该段落。我希望得到比使用LSRegisterURL()更简单的解决方案,就像运行AppleScript的代码片段或其他东西一样,但是这足够接近,所以我会接受它作为答案。谢谢。 – 2009-06-14 22:58:29
有一种名为“lsregister”的工具被埋在启动服务框架的某处,您可以作为替代方案运行,但我不确定这是否更简单。 – hbw 2009-06-15 01:35:08
htw:我想他想从安装程序的post-flight脚本中做到这一点。在这种情况下,运行AppleScript会更简单。另外,lsregister只是记录在案,所以我不会依赖它。 – 2009-06-15 02:04:04