CWInterface не возвращает данные

Я пытаюсь собрать некоторую информацию о текущем состоянии CWInterface (подключенный bssid, доступные точки доступа...) и периодически (каждые 5-10 секунд) отправлять их по udp на сервер.

Моя проблема в том, что через некоторое время (между 30 и 50 минутами в некоторых тестах с разным интервалом сбора/отправки) CWInterface перестает возвращать данные.

  • [Интерфейс CWInterface] возвращает ноль
  • [CWInterface interfaceNames] возвращает NSSet с 0 записями
  • [[Интерфейс CWInterface] scanForNetworksWithSSID:nil &error] также возвращает NSSet с 0 записями

Что я делаю неправильно?

Я совсем без идей...


person mabstrei    schedule 30.03.2012    source источник
comment
Я столкнулся с некоторыми проблемами с этим вызовом, он просто отстой. Бросьте ошибку в яблоко. Я не знаю обходного пути. Перезапуск приложения вроде работает. (Я использовал его только в iOS, а не в OSX)   -  person Adam Shiemke    schedule 30.03.2012
comment
Вы используете CoreWlan на iOS? Как ты это сделал? Итак, вы думаете, что это ошибка в CoreWlan.framework, верно?   -  person mabstrei    schedule 02.04.2012
comment
Есть ли другой API, который я могу вызвать? Чтобы получить эту информацию без использования CoreWlan?   -  person mabstrei    schedule 02.04.2012
comment
Я изменил несколько вещей... Теперь я напрямую вызываю частную структуру Apple80211. В данный момент тестирую...   -  person mabstrei    schedule 03.04.2012


Ответы (1)


Хорошо, поскольку я уже прокомментировал свой вопрос, я изменил структуру с CoreWlan на частную Apple80211.framework.

Это работает.

Мое приложение теперь работает около часа с четвертью и сканирует каждые несколько секунд.

Два отрицательных момента в использовании Apple80211:

  • Общедоступной документации о том, как его использовать, нет (я использовал документацию с http://code.google.com/p/iphone-wireless/, который также работает для Mac OS X)
  • Сканирование теперь длится около 5 секунд, что довольно долго, но это работает...
person mabstrei    schedule 03.04.2012
comment
Не имеет отношения к вам, но вы также не можете использовать его ни в одном приложении для iOS, которое идет в магазин :( - person Adam Shiemke; 03.04.2012
comment
Да, я знаю, это порт приложения, которое я написал для iOS... :( - person mabstrei; 05.04.2012