CWInterface не возвращает данных
Я пытаюсь собрать некоторую информацию о текущем состоянии CWInterface(подключенный bssid, доступные точки доступа...) и периодически отправлять их (каждые 5-10 секунд) через udp на сервер.
Моя проблема в том, что через некоторое время (между 30 и 50 минутами в некоторых тестах с другим интервалом сбора / отправки) CWInterface прекращает возвращать данные.
- [Интерфейс CWInterface] возвращает ноль
- [CWInterface interfaceNames] возвращает NSSet с 0 записями
- [[CWInterface interface] scanForNetworksWithSSID:nil &error] также возвращает NSSet с 0 записями
Что я делаю неправильно?
Я полностью вне идей...
1 ответ
Решение
Хорошо, так как я уже прокомментировал свой собственный вопрос, я изменил каркас с CoreWlan на частную Apple80211.framework.
Это швы на работу.
Мое приложение теперь работает около часа и четверти часа и сканирует каждые несколько секунд.
Два отрицательных момента об использовании Apple80211:
- Нет общедоступной документации о том, как ее использовать (я использовал документацию с http://code.google.com/p/iphone-wireless/ которая также работает для Mac OS X)
- Сканирование теперь длится около 5 секунд, что довольно долго, но эй, это работает...