Я создал приложение с использованием маяков, и я настроил их UUID, Основные значения в самом приложении, и все работает нормально. И это также делает фоновый мониторинг.Как добавить маяки к приложению с сервера
После того, как приложение будет использовать маяк, приложение отправляет информацию маяка UUID, Major, Minor и Proximity Level на сервер, используя веб-службу, и в ответ он получает информацию о продукте, чтобы показать пользователю.
Но мой вопрос заключается в том, как добавить информацию маяка из веб-службы. Так что мне не нужно обновлять приложение в магазине приложений каждый раз, когда я добавляю новый маяк в хранилище.
Как можно осуществлять фоновый мониторинг, если детали маяка не находятся в приложении? И нужно ли нам каждый раз называть веб-сервис с информацией о маяках при открытии приложения?
Я не понимаю, как это достичь. Я новичок в функциональности маяка.
Это мой подарок код:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
NSUUID *beaconUUID1 = [[NSUUID alloc] initWithUUIDString:@"B9407F30-F5F8-466E-AFF9-25556B57FE6D"];
CLBeaconRegion *beaconRegion1 = [[CLBeaconRegion alloc] initWithProximityUUID:beaconUUID1 major:2 identifier:@"Identifier1"];
CLBeaconRegion *beaconRegion2 = [[CLBeaconRegion alloc] initWithProximityUUID:beaconUUID1 major:3 identifier:@"Identifier2"];
switch ([CLLocationManager authorizationStatus]) {
case kCLAuthorizationStatusAuthorizedAlways:
NSLog(@"Authorized Always");
break;
case kCLAuthorizationStatusAuthorizedWhenInUse:
NSLog(@"Authorized when in use");
break;
case kCLAuthorizationStatusDenied:
NSLog(@"Denied");
break;
case kCLAuthorizationStatusNotDetermined:
NSLog(@"Not determined");
break;
case kCLAuthorizationStatusRestricted:
NSLog(@"Restricted");
break;
default:
break;
}
self.locationManager = [[CLLocationManager alloc] init];
if([self.locationManager respondsToSelector:@selector(requestAlwaysAuthorization)]) {
[self.locationManager requestAlwaysAuthorization];
}
self.locationManager.delegate = self;
self.locationManager.pausesLocationUpdatesAutomatically = NO;
[self.locationManager startMonitoringForRegion:beaconRegion1];
[self.locationManager startRangingBeaconsInRegion:beaconRegion1];
[self.locationManager startMonitoringForRegion:beaconRegion2];
[self.locationManager startRangingBeaconsInRegion:beaconRegion2];
[self.locationManager startUpdatingLocation];
CBCentralManager* testBluetooth = [[CBCentralManager alloc] initWithDelegate:nil queue: nil];
}
Дополнительная информация: - Я использую Estimote маяки, но не их SDK. Я использую только Core Location Framework.
Может ли кто-нибудь дать четкое представление о том, как реализовать данные динамического маяка с сервера?
загрузить информацию о маяках с сервера, а затем запустить мониторинг региона, когда вы закончите с загрузкой ... или что вы имеете в виду? – thorb65
Вам не нужно делать это в методе 'didFinishLaunchingWithOptions', вы можете делать это там, где хотите. Таким образом, вы можете загрузить информацию о маяках и начать мониторинг, когда у вас есть все маяки. – redent84
спасибо, ребята. я попробую ваши решения. Раньше я думал, что должен сделать это только в файле didFinishLaunchingWithOptions ... но теперь я напишу код в другом методе. –