簡體   English   中英

如何檢查OS X下的應用程序位置?

[英]How to check, where an application is located under OS X?

如何檢查OS X下安裝的應用程序的位置? 我嘗試使用方法LSFindApplicationForInfo ,如果您正在搜索包標識符,它可以正常工作。

但是,如果您安裝了多個應用程序實例,則這種方式無效。 LSFindApplicationForInfo只獲取應用程序的一個實例的位置。 此外,OS X 10.10中不推薦使用此功能。

來自以下線程的終端輸入mdfind "kMDItemCFBundleIdentifier工作正常,但是如果啟用了聚光燈,它就可以正常工作。

如何在C或Objective-C編寫的源代碼中使用相同的包標識符或相同名稱“name.app”從所有應用程序實例中獲取位置?

如何找到具有相同捆綁標識符的多個應用?

檢查是否存在Mac OS X應用程序

如果您可以定位10.10或更高版本,則可以使用LSCopyApplicationURLsForBundleIdentifier() 這被記錄為返回具有給定包標識符的所有應用程序的URL。

我不清楚你試圖找到的應用程序是否是你控制的屬性。 如果是,並且您需要在10.10之前支持OS X版本,您可以使用的一種方法是使目標應用程序聲明支持自定義虛擬URL方案。 然后,您可以使用LSCopyApplicationURLsForURL()來查找它的所有實例。 使用虛擬方案構造URL,例如com-yourcompany-yourproduct-app-identifier-scheme://junk並將其作為輸入傳遞。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM