Se você é um programador, publiquei instruções sobre como usar um MacBook com o Mavericks como um iBeacon. Você pode encontrar as instruções no meu blog em http://www.blendedcocoa.com/blog/2013/11/02/mavericks-as-an-ibeacon/
Se / quando eu tiver uma chance, posso criar um aplicativo que você possa usar para anunciar um iBeacon.
Esta é a resposta que eu dei a uma pergunta semelhante no Stack Overflow
O Mavericks não tem o suporte do iBeacon no Core Location que foi adicionado ao iOS 7. No entanto, o Mavericks agora tem a capacidade de atuar como um dispositivo periférico BLE. Dado que um iBeacon é basicamente um periférico, deve ser (e de fato é) possível usar o Mavericks como um iBeacon.
Para criar um iBeacon no iOS, você primeiro cria um CLBeaconRegion
objeto e, em seguida, usa o peripheralDataWithMeasuredPower:
método para obter um NSDictionary
contendo os dados de anúncio necessários para transmitir. Se você pegar o conteúdo disso NSDictionary
em um dispositivo iOS e usá-lo no Mavericks, recebe um iBeacon.
Eu criei uma classe para facilitar isso e permitir que você gere o dicionário de dados do anúncio diretamente no Mavericks. O código fonte está disponível em https://github.com/mttrb/BeaconOSX
A BLCBeaconAdvertisementData
classe tomar as proximityUUID
, major
, minor
e os valores de potência calibrado e cria um NSDictionary que pode ser passado para o startAdvertising:
método de CBPeripheralManager
no independentes.
A BLCBeaconAdvertisementData
aula é bem simples. O trabalho principal é realizado pelo seguinte método:
- (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];
}
Eu tenho um post mais detalhado sobre isso em http://www.blendedcocoa.com/blog/2013/11/02/mavericks-as-an-ibeacon/