Heim  >  Artikel  >  Backend-Entwicklung  >  Wie rufe ich laufende Anwendungspakete in macOS ab?

Wie rufe ich laufende Anwendungspakete in macOS ab?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-01 07:49:30146Durchsuche

How to Retrieve Running Application Bundles in macOS?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn