2009-11-12 8 views
7

J'essaye d'écrire un très application de terminal simple qui va rechercher des périphériques Bluetooth à intervalles réguliers et afficher l'adresse réseau Bluetooth (les chiffres hexadécimaux) de chaque périphérique Bluetooth à portée . Ma plate-forme cible est Mac OS X, donc je suppose que cela impliquera Objective-C. Je n'ai aucune expérience en Objective-C (bien que je possède toutes les bases de C), mais cela semble assez simple.Liste des périphériques Bluetooth en mode natif en Objective-C

Où puis-je trouver de la documentation et un exemple de code (ou un didacticiel ou un code utilisé auparavant par un répondeur) pour répertorier les périphériques Bluetooth de manière rapide et native?

Répondre

5

La référence Mac Dev Center suivante peut vous intéresser. C'est un peu en profondeur mais il y a des exemples de code.

Introduction to Bluetooth Device Access Guide

+0

Je ne pouvais pas trouver un code pour la découverte de l'appareil - je Je suis un peu fatigué, donc je vais avoir un meilleur look plus tard. Merci! –

+1

Vous savez quoi, vous avez raison. Il mentionne l'infrastructure BluetoothUI pour la découverte de périphériques, mais aucun exemple sur la façon de l'utiliser. Je vais continuer à chercher et modifier ce post avec ce que je trouve, puisque je suis maintenant intéressé par la façon de le faire. Il est trop tôt pour la recherche. :) –

+0

Avez-vous réussi à trouver quelque chose? Je suis toujours à la recherche d'une solution sans chance! –

0

Je ne sais pas d'un exemple de code, mais vous aurez envie d'utiliser la classe IOBluetoothDeviceInquiry du cadre IOBluetooth. Le Guide d'accès aux périphériques Bluetooth a un brief section on it.

0

vous pouvez le faire avec GameKit Api et BTstack cadre de travail ...

mais il est un grand défi.

le meilleur ..

si u obtenir le mettre sur .. pls poster ur expérience. Je regarde aussi celui-là.

5

L'utilisation de Bluetooth avec Objective-C peut être réalisée avec le cadre IOBluetooth.

Un exemple de certaines classes utiles pour le fonctionnement de base sont:

  • IOBluetoothDevice
    • méthodes de connexion
    • [IOBluetoothDevice pairedDevices] retourne un NSArray des appareils associés
    • beaucoup d'autres choses
  • IOBluetoothDeviceInquiry
    • recherche des appareils disponibles
  • IOBluetoothHostController
    • la propriété powerState peut vous dire si votre Bluetooth est activée ou désactivée

Voici quelques exemples de code pour utiliser IOBluetoothDeviceInquiry pour obtenir l'adresse de chaque blu dispositif de douceur dans la gamme.Démarrez le processus d'enquête avec quelque chose comme:

IOBluetoothDeviceInquiry *inquirer = [IOBluetoothDeviceInquiry inquiryWithDelegate:self]; 
// Configure further here if necessary 
[inquirer start]; 

Maintenant, vous pouvez obtenir l'adresse des appareils trouvés en utilisant les IOBluetoothDeviceInquiryDelegate méthodes:

#pragma mark - IOBluetoothDeviceInquiryDelegate Methods 

- (void) deviceInquiryComplete:(IOBluetoothDeviceInquiry *)sender error:(IOReturn)error aborted:(BOOL)aborted { 
    NSArray *devices = [sender foundDevices]; 
    for (IOBluetoothDevice *device in devices) { 
     const BluetoothDeviceAddress *address = [device getAddress]; 
     // Do something with address 
    } 
    [sender performSelector:@selector(start) withObject:nil afterDelay:7]; 
} 
+0

Cela pourrait-il être réécrit dans Swift? Merci! – dylan

+0

Ou plus précisément, je suis très inculte avec Obj-C, mais je comprends bien les en-têtes de liaison. Est-ce que les deux vont dans le fichier d'en-tête, ou sont-ils situés? Merci! – dylan

Questions connexes