類似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