При ранжировании или мониторинге нескольких областей в поле identifier
должна быть задана уникальная строка, так как это ключ, используемый для запуска, остановки и замены контролируемой области.Если вы попытаетесь контролировать или ранжировать две разные области с одинаковым значением поля identifier
, вы фактически замените предыдущую регистрацию региона новой, имеющей такое же значение identifier
.
Чтобы исправить это в своемВ этом случае просто измените значение identifier
на уникальную строку.Вы можете сгенерировать один из них следующим образом:
OLD:
proximityUUID: UUID(uuidString: self.ArrayBeaconIDs[i])!,
major: CLBeaconMajorValue(self.ArrayMajor[i])!,
minor:CLBeaconMajorValue(self.ArrayMinor[i])!,
identifier: "teuchlitlan"
NEW:
proximityUUID: UUID(uuidString: self.ArrayBeaconIDs[i])!,
major: CLBeaconMajorValue(self.ArrayMajor[i])!,
minor:CLBeaconMajorValue(self.ArrayMinor[i])!,
identifier: "teuchlitlan\(i)"
Второй фрагмент кода добавит числовой суффикс к каждому региону identifier
таковы они:
teuchlitlan0, teuchlitlan1, teuchlitlan2 ... и т. д.