如何找到并非来自App Store的所有macOS应用程序?


Answers:


18

下面的屏幕快照显示了如何使用Finder搜索查询来查找不是来自App Store的所有应用程序。“原始查询”条件为kMDItemAppStoreHasReceipt != 1。我认为,这与测试patrix答案中名为“ _MASReceipt”的目录相同。但是对于不习惯使用Terminal的人来说,使用Finder搜索查询应该更容易。

不在App Store中的应用程序的Finder搜索查询屏幕截图


这是我的答案的一些附录。要在终端中运行相同的查询,请使用:mdfind 'kMDItemContentType == "com.apple.application-bundle" && kMDItemAppStoreHasReceipt != 1'。要查找确实来自App Store的应用程序,请将其更改!= 1== 1。还有其他一些与App Store相关的Spotlight属性,例如,以检查其Keynote的值:mdls /Applications/Keynote.app | grep kMDItemAppStore
林茨温德

另一个附录。我发现添加另一个“原始查询”条件很有用:kMDItemCFBundleIdentifier != "com.apple.*"。这会过滤掉Apple应用程序,例如不是来自App Store而是macOS的各种应用程序(邮件,Safari,iTunes等)。
Rinzwind '17

11
  • 存储中的应用程序安装在/Applications(至少默认情况下),因此该文件夹之外的任何应用程序都不来自存储中。
  • 商店中的应用程序都有一个NAME.app/Contents/_MASReceipt文件夹,因此您可以使用(在终端中)

    cd /Applications
    for i in *.app; do
        [[ -d "$i/Contents/_MASReceipt" ]] || echo $i
    done
    

    查找所有非商店应用程序


2
只需添加:这是bash。
Max Ried'1

@MaxRied感谢您指出这一点。作为bashTerminal中的默认设置,我通常假设任何有足够经验来切换shell的人也都有足够的经验使bash特定的东西适应他们所选择的shell。或者使用[ ... ]的,而不是[[ ... ]]
nohillside

8

最简单的方法是转到Apple菜单->“关于此Mac ...”,然后单击“系统报告”。在显示的窗口中,您可以滚动到“软件”部分,然后单击“应用程序”。这样就列出了Mac App Store中的应用程序。

在屏幕快照中,Skitch是从Mac App Store下载的。屏幕截图示例

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.