Nếu bạn là một lập trình viên, tôi đã đăng các hướng dẫn về cách sử dụng MacBook với Mavericks như một iBeacon. Bạn có thể tìm thấy các hướng dẫn trên blog của tôi tại http://www.blendedcocoa.com/blog/2013/11/02/mavericks-as-an-ibeacon/
Nếu / Khi tôi có cơ hội tôi có thể tạo một ứng dụng mà bạn có thể sử dụng để quảng cáo iBeacon.
Đây là câu trả lời tôi đã đưa ra cho một câu hỏi tương tự trên Stack Overflow
Mavericks không có hỗ trợ iBeacon trong Vị trí cốt lõi đã được thêm vào iOS 7. Tuy nhiên, Mavericks hiện có khả năng hoạt động như một thiết bị ngoại vi BLE. Cho rằng một iBeacon về cơ bản là một thiết bị ngoại vi, nên có thể sử dụng Mavericks như một iBeacon.
Để tạo iBeacon trên iOS, trước tiên bạn tạo một CLBeaconRegion
đối tượng và sau đó sử dụng peripheralDataWithMeasuredPower:
phương thức để lấy NSDictionary
dữ liệu quảng cáo cần thiết để phát. Nếu bạn lấy nội dung này NSDictionary
từ thiết bị iOS và sử dụng nó trên Mavericks thì bạn sẽ nhận được iBeacon.
Tôi đã tạo một lớp để làm điều này dễ dàng hơn và cho phép bạn tạo từ điển dữ liệu quảng cáo trực tiếp trên Mavericks. Mã nguồn có sẵn tại https://github.com/mttrb/BeaconOSX
Các BLCBeaconAdvertisementData
lớp học lấy proximityUUID
, major
, minor
và các giá trị năng lượng hiệu chuẩn và tạo ra một NSDictionary có thể được truyền cho startAdvertising:
phương pháp CBPeripheralManager
trên Mavericks.
Các BLCBeaconAdvertisementData
lớp học khá đơn giản. Công việc chính được thực hiện theo phương pháp sau:
- (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];
}
Tôi có một bài viết blog chi tiết hơn về điều này tại http://www.blendedcocoa.com/blog/2013/11/02/mavericks-as-an-ibeacon/