2009-12-11 1 views
1

Le code suivant compile bien lors de la compilation comme Mac OS X 10.6 comme le SDK actif (lié aux 10,5 cadres, 10,5 jeu comme le SDK de base)IOBluetoothHostContoller à 10,5

IOBluetoothHostController *controller = [IOBluetoothHostController defaultController]; 

Cependant, si je compile avec Mac OSX 10.5 en tant que SDK actif, j'obtiens un message d'erreur indiquant que IOBluetoothHostController n'est pas déclaré. Comment puis-je résoudre ça?

+0

j'ai pu le compiler en spécifiant @class IOBluetoothHostController dans le fichier d'en-tête. Cela n'explique toujours pas pourquoi il commettrait une erreur lors de la compilation. – Ryan

Répondre

3

Le problème est que l'en-tête IOBluetoothHostController.h est enveloppé dans:

#if BLUETOOTH_VERSION_MAX_ALLOWED >= BLUETOOTH_VERSION_2_0 

Je ne sais pas exactement ce qui se passe là-bas, mais j'ai pu obtenir l'en-tête inclus en spécifiant:

#define BLUETOOTH_VERSION_USE_CURRENT 

dans mon en-tête de préfixe.

+0

Cela dit, en repensant, je n'ai pas réussi à faire fonctionner les routines de la classe sur 10.5, il est donc possible que la classe soit encore en cours et c'est pourquoi ils l'ont fait. –

0

Ce n'est pas une réponse, mais quelque chose pour vous de vérifier.

Avez-vous ajouté le cadre Bluetooth approprié à votre projet? Y a-t-il eu un changement de 10,6 en ce qui concerne le cadre auquel appartient IOBluetoothHostController?

+0

Hey, merci pour la réponse. J'ai regardé dans le cadre IOBluetooth, et IOBluetoothHostController.h est là. Cela est vrai pour le SDK de base 10.6 et 10.5 ... Comme je l'ai dit, cela fonctionne si je dis @class IOBluetoothHostController. – Ryan

+0

Cette déclaration ne vous convient pas si l'en-tête dans lequel elle se trouve n'est pas inclus/importé dans le fichier source qui essaie de l'utiliser. –

+0

Le fichier d'en-tête de ma classe (qui utilise le fichier IOBluetoothHostController) effectue cette importation. – Ryan

Questions connexes