В настоящее время я использую Xcode 11.0 и iOS 13.1 (бета). Я экспериментирую с недавно добавленной функциональностью в iOS 13, позволяющей подключаться к точкам доступа Wi-Fi, где известен только префикс: Apple Docs
Это идеально подходит для настройки Wi-Fi безголового аксессуара, так как вам не нужно просить пользователя переключиться на настройки ОС, чтобы подключиться к Wi-Fi аксессуара.
Но, к сожалению, я не могу заставить его работать должным образом.
Мой код (Swift 5):
if #available(iOS 13, *) {
// The accessory's wifi name starts with "device-", followed by 3 digit number, e.g. "device-012"
let configuration = NEHotspotConfiguration.init(ssidPrefix: "device-")
configuration.joinOnce = true
NEHotspotConfigurationManager.shared.apply(configuration) { (error) in
if error != nil {
if error?.localizedDescription == "already associated."
{
print("Connected")
}
else {
print("No Connected")
}
}
else {
print("Connected")
}
}
}
Используя полное имя (например, «устройство-012»), он работает:
let configuration = NEHotspotConfiguration.init(ssidPrefix: "device-012")
Я что-то упускаю? Может быть, для строки префикса нужен какой-то подстановочный знак или что-то в этом роде?
Спасибо Генри
Просто чтобы добавить: также работает на iOS 13.0 (не бета-версия), он работает не так, как ожидалось. — person Henry schedule 22.09.2019
Отсутствие установки
configuration.joinOnce = true
или установкиfalse
заставляет его работать.Отчет об ошибке уже отправлен в Apple.