Abrufen laufender Anwendungspakete in macOS
Das Ermitteln einer Liste aktiver Anwendungen in macOS kann durch die Nutzung von APIs auf Systemebene erreicht werden. Abhängig vom gewünschten Detaillierungsgrad und der Implementierungssprache stehen verschiedene Ansätze zur Verfügung.
Eine Methode besteht darin, die Funktion sysctl() mit dem Argument KERN_PROC_ALL zu verwenden. Dadurch wird eine Liste aller laufenden Prozesse angezeigt, es werden jedoch keine Informationen zu den entsprechenden Anwendungspaketen bereitgestellt. Beispielsweise würde Minecraft einfach als „Java“ gekennzeichnet, was nicht besonders hilfreich ist.
Ein präziserer Ansatz nutzt die Cocoa-APIs in Swift. Durch Abfragen des NSWorkspace-Objekts nach laufenden Anwendungen ist es möglich, auf die NSApplication-Instanzen zuzugreifen, die jede Anwendung darstellen. Jedes NSApplication-Objekt enthält eine Bundle-ID, die die gewünschten Informationen bereitstellt.
<code class="swift">import Foundation import AppKit // Get all running applications let workspace = NSWorkspace.shared let applications = workspace.runningApplications for app in applications { print(app) }</code>
Dieser Ansatz stellt die Anwendungs-Bundle-IDs direkt bereit und ermöglicht so den Abruf spezifischer Informationen zu jeder laufenden Anwendung.
Das obige ist der detaillierte Inhalt vonWie rufe ich laufende Anwendungspakete in macOS ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!