Я работаю над iOS-приложением, которое взаимодействует с устройствами iBeacon. Рабочий процесс следующий: , если пользователь находится рядом с iBeacon, а затем приложение получает push-уведомление из Интернета. Таким образом, для признания, если пользователь рядом с какой-то IBeacon должен быть включен следующих модулей:Возможно ли разрешить работу приложения iBeacon без GPS?
- GPS
- Bluetooth
- WiFi/3G
- толчок уведомление
Вопрос заключается в том, что без включенное приложение GPS-модуля не может найти iBeacons. Странно, так как технология iBeacon работает только с bluetooth.
Как решить следующую проблему? Я использую Xcode 6.1.1, iOS 8, CoreLocation и CoreBluetooth.
Вот код, как я реализовал:
if ([CLLocationManager locationServicesEnabled]) {
_locationManager = [[CLLocationManager alloc] init];
_locationManager.delegate = self;
if([_locationManager respondsToSelector:@selector(requestAlwaysAuthorization)]) {
[_locationManager requestAlwaysAuthorization];
}
NSUUID *uuid = [[NSUUID alloc] initWithUUIDString:@"12345678-1234-1234-1234-123456789012"];
NSString *bundleIdentifier = [[NSBundle mainBundle] bundleIdentifier];
CLBeaconRegion *beaconRegion = [[CLBeaconRegion alloc] initWithProximityUUID:uuid
identifier:bundleIdentifier];
[_locationManager startMonitoringForRegion:beaconRegion];
[_locationManager startRangingBeaconsInRegion:beaconRegion];
}
else {
NSLog(@"location service is disabled");
}
Когда вы говорите «без модуля GPS включен», что вы имеете в виду? Как вы отключите GPS? – Paulw11
У вас такая же проблема с iOS7 ?. Если нет, проблема вызвана отсутствием двух вещей: вставьте ключ в Info.plist и попросите разрешения. Я не думаю, что вам нужен GPS, чтобы использовать iBeacon. –
http://blog.estimote.com/post/97824495825/ios-8-pushes-location-context-to-a-new-level-lock –