Самое простое и наиболее вероятное объяснение состоит в том, что документация о CBPeripheralManager.startAdvertising, принимающая только два ключа, является неточной.Документы, возможно, просто никогда не обновлялись после того, как была выпущена поддержка iBeacon.
В соответствующей заметке я подозреваю (но не могу подтвердить), что этот метод поддерживает еще больше ключей в виде приватных API.Вы должны декомпилировать двоичный файл фреймворка, чтобы выяснить, что это такое.
Реальность такова, что документация очень часто не синхронизируется с новыми функциями, добавленными в API, и еще чаще встречается в документации, не говоря уже о секретном поведении, которое не поддерживается публично.