2015-05-12 3 views
0

я после следующего урока:идентификатор iOS ibeacon в initWithProximityUUID: (NSUUID *) идентификатор proximityUUID: (NSString *) идентификатор?

http://www.appcoda.com/ios7-programming-ibeacons-tutorial/

Однако, я уверен, не используя iPhone в качестве маяка, но я использую реальные маяки от производителей (Реко, Estimote).

Я не понимаю, что использовать для поля идентификатора в следующей строке:

// Setup a new region with that UUID and same identifier as the broadcasting //beacon 
self.myBeaconRegion = [[CLBeaconRegion alloc] initWithProximityUUID:uuid identifier:@"what should I use here?"]; 

можно модифицировать UUID, мажорные и минорное значение маяков, но нет никакой возможности для изменения идентификатор. Что такое идентификатор?

ответ

1

Этот идентификатор строки является уникальным ключом, который вы можете использовать для идентификации региона. Вы можете поместить любое значение в строку, которую вы хотите,, если вы используете тот же самый, чтобы снова идентифицировать регион, когда хотите заменить регион, который находится в диапазоне/контролируется, или прекратить управление/мониторинг в этом регионе.

В следующем примере будет начать мониторинг двух областей (на основе двух различных UUID, с двумя различными идентификаторами «first_region» и «second_region»:

[_locationManager startMonitoringForRegion: 
    [[CLBeaconRegion alloc] initWithProximityUUID:first_uuid 
          identifier:@"first_region"]]; 

[_locationManager startMonitoringForRegion: 
    [[CLBeaconRegion alloc] initWithProximityUUID:second_uuid 
          identifier:@"second_region"]]; 

Вы можете прекратить контроль за второй области с такой код:.

[_locationManager startMonitoringForRegion: 
    [[CLBeaconRegion alloc] initWithProximityUUID:second_uuid 
          identifier:@"second_region"]]; 

Что важно в строке кода выше эта строка идентификатор «second_region» Чтобы остановить мониторинг правильно, он должен соответствовать строке, которую вы использовали для начала мониторинга того региона.

0

Если вы используете только один регион, вы можете указать для него любое строковое значение, как показано ниже; Для получения дополнительной информации см. Этот пост https://stackoverflow.com/a/20566695/1351327

static NSString * const kIdentifier = @"SomeIdentifier"; 
static NSString * const kUUID = @"124C5678-4444-1111-2222-134556728422"; 

// Then create the region 

NSUUID *proximityUUID = [[NSUUID alloc] initWithUUIDString:kUUID]; 
CLBeaconRegion *beaconRegion = [[CLBeaconRegion alloc] initWithProximityUUID:proximityUUID identifier:kIdentifier]; 
Смежные вопросы