iOS 13: сеть, подключенная через NEHotspotConfiguration, отключается через несколько секунд

Я использую NEHotspotConfigurationManager в собственном модуле, разработанном для собственного приложения для реагирования, для подключения к устройству, которое предоставляет открытую точку доступа Wi-Fi. В старых версиях iOS (iOS 12 и ниже) все работало нормально, но в iOS 13 устройство отключается через несколько секунд после подключения.

это мой собственный метод, я использую joinOnce, так как это имеет смысл в соответствии с документами:

NEHotspotConfiguration* configuration = [[NEHotspotConfiguration alloc] initWithSSID:ssid];
configuration.joinOnce = true;

[[NEHotspotConfigurationManager sharedManager] applyConfiguration:configuration completionHandler:^(NSError * _Nullable error) {
  if (error != nil) {
    reject(ERR_HOTSPOT_CONFIGURATION, ERR_HOTSPOT_CONFIGURATION, error);
  } else {
    resolve(nil);
  }
}];

Каков правильный способ поддержания соединения в течение более длительных периодов времени? Является ли это запланированным/задокументированным изменением в iOS 13? Это ошибка?

Кроме того, в Android, если точка доступа не подключена к Интернету, система автоматически переключается на мобильную сеть. Это какая-то аналогичная политика в iOS? Устройство, к которому я подключаюсь, не предоставляет доступ в Интернет


person martin aliverti    schedule 11.09.2019    source источник


Ответы (1)


Это ошибка в новейшей iOS/iPadOS, аналогичная моему отчету: >iPadOS: сеть, подключенная через NEHotspotConfiguration, отключается через некоторое время

Я сообщил об этом в Apple, но проблема еще не решена и, вероятно, не будет решена в выпуске iOS 13 (19 сентября).

Обходной путь — использовать joinOnce = false, но в этом случае пользователю может быть предложено переключиться на сотовую связь, если подключение к Интернету не обнаружено. Пользователь не будет переключаться автоматически в фоновом режиме, но переключение на сотовую связь отображается как предпочтительный вариант.

person Mateusz Chechliński    schedule 17.09.2019
comment
Круто, я не мог прокомментировать ваш вопрос SO (который я взял почти как шаблон, как вы могли заметить), так что это здорово услышать от вас сейчас. Как мы можем быть уверены, что это ошибка? Можете ли вы указать мне какие-либо другие документы или любую ссылку других людей, столкнувшихся с этой проблемой? попробую joinOnce = false - person martin aliverti; 17.09.2019
comment
Правильно, joinOnce = false решает проблему. Я еще не видел никаких побочных эффектов, но я буду обновлять эту тему, если у меня будут какие-либо другие выводы. - person martin aliverti; 17.09.2019
comment
Фрагменты документации, приведенные в моем посте, предполагают, что это не предполагаемое поведение, поскольку мой допустимый вариант использования сейчас невозможно применить - таким образом, ошибка. - person Mateusz Chechliński; 17.09.2019
comment
Кроме того, я сообщил об этом через помощника по обратной связи, и он не был отклонен. Жаль, что у него есть разрешение: открыто в течение довольно долгого времени, что в основном означает, что они намерены исследовать его позже. - person Mateusz Chechliński; 17.09.2019
comment
Похоже, Apple исправила проблему в iOS 13.4 beta 2, теперь у меня работает с joinOnce = true. Связанное обсуждение на форуме Apple: forums.developer.apple.com/thread/122540 - person Marc; 22.02.2020
comment
@Marc Не могли бы вы оставить ответ на мой первоначальный вопрос здесь: заголовок stackoverflow.com/questions/57552952/, так что я могу принять ваш ответ? - person Mateusz Chechliński; 23.02.2020