我已經使用信標創建了一個應用程序,並且我已經在應用程序本身中配置了它們的UUID,主要值,並且一切正常。它也在做背景監測。如何從服務器添加信標到應用程序
一旦該應用程序的信標範圍,應用程序正在使用Web服務向服務器發送信標UUID,主要,次要和鄰近級別信息,並作爲響應獲取產品詳細信息以顯示給用戶。
但我的問題是如何從Web服務添加信標詳細信息。因此,我不需要每次在商店中添加新的燈塔時,都會在應用商店中更新我的應用。
如果信標詳情不在應用程序中,如何完成後臺監控?每當應用打開時,我們是否需要調用Beacon詳細信息Web服務?
我不知道如何實現這一點。我是新來的燈塔功能。
這是我本次代碼:
- (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。我正在使用唯一核心位置框架。
任何人都可以清楚地瞭解如何從服務器實現動態信標詳細信息嗎?
從服務器下載信標信息,然後在下載完成後開始區域監控...或者您的意思是什麼? – thorb65
你不需要在'didFinishLaunchingWithOptions'方法中做到這一點,你可以在任何你想要的地方做到這一點。因此,您可以下載信標信息,並在擁有所有信標時開始監控。 – redent84
謝謝你們。我會嘗試你的解決方案。早些時候,我想我只能在didFinishLaunchingWithOptions中這樣做,但現在我會用不同的方法編寫代碼。 –