Wie finde ich alle macOS-Anwendungen, die nicht aus dem App Store stammen?

10

Wie finde ich alle Anwendungen auf meinem Mac, die nicht aus dem App Store stammen? Ist es möglich, alle diese Anwendungen mithilfe einer Finder-Suchabfrage zu finden ?

Rinzwind
quelle

Antworten:

18

Der folgende Screenshot zeigt, wie Sie mithilfe einer Finder-Suchabfrage alle Anwendungen finden, die nicht aus dem App Store stammen. Die Bedingung "Raw Query" lautet kMDItemAppStoreHasReceipt != 1. Ich denke, dies ist das gleiche wie beim Testen auf ein Verzeichnis mit dem Namen "_MASReceipt" wie in der Antwort von patrix. Die Verwendung einer Finder-Suchabfrage sollte jedoch für Benutzer, die mit der Verwendung von Terminal nicht vertraut sind, einfacher sein.

Screenshot der Finder-Suchabfrage für Anwendungen, die nicht aus dem App Store stammen

Rinzwind
quelle
Hier sind einige Ergänzungen zu meiner Antwort. Um dieselbe Abfrage im Terminal auszuführen, verwenden Sie : mdfind 'kMDItemContentType == "com.apple.application-bundle" && kMDItemAppStoreHasReceipt != 1'. Ändern Sie die Prüfung in, um die Anwendungen zu finden, die aus dem App Store stammen . Es gibt einige andere Spotlight-Attribute, die sich auf den App Store beziehen, um deren Werte für Keynote zu überprüfen, zum Beispiel : . != 1== 1mdls /Applications/Keynote.app | grep kMDItemAppStore
Rinzwind
Ein weiterer Nachtrag. Ich fand es nützlich, eine weitere Bedingung für "Raw Query" hinzuzufügen : kMDItemCFBundleIdentifier != "com.apple.*". Dies filtert Apple-Anwendungen heraus, wie die verschiedenen Anwendungen, die nicht aus dem App Store stammen, sondern Teil von macOS sind (Mail, Safari, iTunes usw.).
Rinzwind
11
  • Anwendungen aus dem Store werden /Applications(zumindest standardmäßig) in installiert , sodass Anwendungen außerhalb dieses Ordners nicht aus dem Store stammen.
  • Anwendungen aus dem Store haben einen NAME.app/Contents/_MASReceiptOrdner, den Sie verwenden können (im Terminal).

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

    um alle Nicht-Store-Anwendungen zu finden

nohillside
quelle
2
Ich wollte nur hinzufügen: Dies ist Bash.
Max Ried
@ MaxRied Danke, dass du darauf hingewiesen hast. Wie bashes die Standardeinstellung in Terminal ist, gehe ich normalerweise davon aus, dass jeder, der genug Erfahrung hat, um Shells zu wechseln, auch genug Erfahrung hat, um Bash-spezifische Dinge an die Shell seiner Wahl anzupassen. Oder verwenden Sie [ ... ]anstelle von[[ ... ]]
nohillside
8

Am einfachsten gehen Sie zum Apple-Menü -> "Über diesen Mac ..." und klicken dann auf "Systembericht". In dem angezeigten Fenster können Sie zum Abschnitt Software scrollen und auf "Anwendungen" klicken. Apps aus dem Mac App Store werden als solche aufgelistet.

Im Screenshot wurde Skitch aus dem Mac App Store heruntergeladen.Beispiel-Screenshot

Kent
quelle