Est-il une interface de ligne de commande à la liste de tous les périphériques Bluetooth à portée sur mac?

Je veux la liste de tous dans la gamme des appareils Bluetooth, idéalement avec des noms d'hôte, mais les adresses MAC serait suffisant. J'ai besoin d'une commande qui effectue une analyse active afin que je puisse sondage pour voir si mon appareil est à proximité, pas un qui répertorie les dispositifs précédemment appariés.

Mon cas d'utilisation est de détecter si mon casque Bluetooth ou iPhone sont à portée de mon Mac, pour déclencher la sécurité des modifications de paramètre (par exemple sudo timeout). J'ai fait un peu juste de Googler, et les seules choses que je semble être en mesure de trouver sont iOS swift exemples de code. Je serais heureux avec OS X Swift exemples de code, AppleScript, terminal services publics, ou des pointeurs vers de bonnes docs.

J'ai regardé ces options:

  • blued: imprime une liste des adresses mac, mais ils ne semblent pas changer lorsque des dispositifs d'aller dans ou hors de la plage ou de vous connecter, et ils ne sont pas associées à des noms d'hôtes
  • blueutil (brew install blueutil): imprime uniquement la puissance de l'état, pas les noms de périphérique
  • bluetoothaudiod: pas d'interface utilisable
  • Ce code Objective-C Créer un Terminal Bluetooth Moniteur dans XCode?: je reçois plusieurs erreurs lors de la compilation il est donc difficile de tester
  • À l'aide d'AppleScript lire la Bluetooth Explorer.app GUI
  • À l'aide de dtrace pour voir comment Bluetooth Explorer.app calcule la liste: difficile de dernier recours
  • La Proximité Application de ce post sur le forum: Ne dispose pas d'une interface de ligne de commande, donc je ne peux pas l'interroger à distance. Je peux écrire un script qui stocke l'état dans un fichier pour le lire plus tard, mais il ne fonctionne que pour un seul appareil à la fois.

Modifier 2017/01: Trouvé ce AFIN de répondre avec plus de détails sur la recherche des appareils à proximité, dans Swift:
Liste des appareils qui sont dans la gamme de l'appareil Bluetooth à Swift

Modifier 2017/10: Trouvé une mise à jour AFIN de répondre de Swift 3 & 4.0: Les périphériques Bluetooth à proximité à l'aide de Swift 3.0

OriginalL'auteur Nick Sweeting | 2016-06-30