Si usted es un programador que me han publicado las instrucciones sobre cómo usar un MacBook con Mavericks como un iBeacon. Usted puede encontrar las instrucciones en mi blog en http://www.blendedcocoa.com/blog/2013/11/02/mavericks-as-an-ibeacon/
Si/Cuando tengo la oportunidad me puede crear una aplicación que se puede utilizar para publicar un iBeacon.
Esta es la respuesta que dio a una pregunta similar en Stack Overflow
Mavericks no tiene el iBeacon apoyo en el Núcleo de la Ubicación a la que se añadió a iOS 7. Sin embargo, los Mavericks no tienen ahora la capacidad de actuar como un BLE dispositivo periférico. Dado que un iBeacon es básicamente un periférico debe ser (y de hecho es) posible el uso de los Mavericks como un iBeacon.
Con el fin de crear un iBeacon en iOS, se debe crear primero una CLBeaconRegion
objeto y, a continuación, utilizar la peripheralDataWithMeasuredPower:
método para obtener un NSDictionary
que contiene los datos de anuncio para difundir. Si usted toma el contenido de este NSDictionary
desde un dispositivo iOS y utilizarlo en Mavericks, entonces obtendrá un iBeacon.
He creado una clase para hacer esto más fácil y le permitirá generar el anuncio del diccionario de datos directamente en Mavericks. El código fuente está disponible en https://github.com/mttrb/BeaconOSX
El BLCBeaconAdvertisementData
clase tome la proximityUUID
, major
, minor
y calibrado de los valores de potencia y crea un NSDictionary que se puede pasar a la startAdvertising:
método de CBPeripheralManager
en Mavericks.
El BLCBeaconAdvertisementData
clase es bastante simple. El principal trabajo es realizado por el método siguiente:
- (NSDictionary *)beaconAdvertisement {
NSString *beaconKey = @"kCBAdvDataAppleBeaconKey";
unsigned char advertisementBytes[21] = {0};
[self.proximityUUID getUUIDBytes:(unsigned char *)&advertisementBytes];
advertisementBytes[16] = (unsigned char)(self.major >> 8);
advertisementBytes[17] = (unsigned char)(self.major & 255);
advertisementBytes[18] = (unsigned char)(self.minor >> 8);
advertisementBytes[19] = (unsigned char)(self.minor & 255);
advertisementBytes[20] = self.measuredPower;
NSMutableData *advertisement = [NSMutableData dataWithBytes:advertisementBytes length:21];
return [NSDictionary dictionaryWithObject:advertisement forKey:beaconKey];
}
Tengo una más detallada entrada de blog acerca de esto en http://www.blendedcocoa.com/blog/2013/11/02/mavericks-as-an-ibeacon/