Как постоянно получать силу WiFi на iPhone - PullRequest
0 голосов
/ 12 октября 2018

Мне нужно в моем приложении, чтобы непрерывно получать силу WiFi.Я пытаюсь реализовать подход наблюдения значения ключа и получить эту информацию из StatusBar следующим образом:

  [UIApplication.sharedApplication()  addObserver:signalListener
                                         forKeyPath:@"IDontKnowWhat"
                                            options:NSKeyValueObservingOptionNew
                                            context:NULL]; 

Но это дает мне ошибку:

Тип вызываемого объекта 'UIApplication * _Nonnull'не является функцией или указателем на функцию

И позже я хотел бы получить мощность сигнала следующим образом:

    NSArray *subviews = [[[IDontKnowWhat valueForKey:@"statusBar"] valueForKey:@"foregroundView"] subviews];
    NSString *wifiNetworkItemView = nil;    

    for (id subview in subviews) {

        if([subview isKindOfClass:[NSClassFromString(@"UIStatusBarDataNetworkItemView") class]]) {
            wifiNetworkItemView = subview;
        }
    }
    int wifiSignalStrength = [[wifiNetworkItemView valueForKey:@"wifiStrengthRaw"] intValue];

Может кто-нибудь дать мне совет, если это возможно реализоватьКВО на статусбар UIApplication sharedApplication?Или есть какой-нибудь другой способ постоянно получать силу WiFi?

1 Ответ

0 голосов
/ 16 октября 2018

Похоже, что Apple не поддерживает анализ силы Wi-Fi общего пользования.Однако существует неортодоксальный метод получения уровня сигнала.NEHotspotHelper имеет свойство signalStrength, предназначенное для подключения пользователей к точкам доступа.

https://forums.developer.apple.com/thread/67932

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...