Maison  >  Article  >  développement back-end  >  Comment récupérer les bundles d’applications en cours d’exécution sous macOS ?

Comment récupérer les bundles d’applications en cours d’exécution sous macOS ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-01 07:49:30146parcourir

How to Retrieve Running Application Bundles in macOS?

Récupération des bundles d'applications en cours d'exécution dans macOS

La détermination d'une liste d'applications actives dans macOS peut être obtenue en tirant parti des API au niveau du système. Différentes approches sont disponibles, en fonction du niveau de détail souhaité et du langage d'implémentation.

Une méthode consiste à utiliser la fonction sysctl() avec l'argument KERN_PROC_ALL. Cela donne une liste de tous les processus en cours d'exécution, mais ne fournit pas d'informations sur les bundles d'applications correspondants. Par exemple, Minecraft serait simplement étiqueté « java », ce qui n'est pas particulièrement utile.

Une approche plus précise utilise les API Cocoa dans Swift. En interrogeant l'objet NSWorkspace pour les applications en cours d'exécution, il est possible d'accéder aux instances NSApplication représentant chaque application. Chaque objet NSApplication contient un identifiant de bundle, qui fournit les informations souhaitées.

<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>

Cette approche fournit directement les identifiants du bundle d'application, permettant la récupération d'informations spécifiques sur chaque application en cours d'exécution.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn