UIStatusBarSignalStrengthItemView и signalStrengthRaw для расчета силы сигнала ячейки, не обновляет значения в фоновом режиме

Мы используем частные каркасы (включая UIStatusBarSignalStrengthItemView.h) для расчета уровня сигнала ячейки. Он отлично работает в режиме переднего плана, но как только мое приложение переходит в фоновый режим, оно перестает обновлять уровень сигнала ячейки.

Код, который мы используем:

UIApplication *app = [UIApplication sharedApplication];
NSArray *subviews = [[[app valueForKey:@"statusBar"] valueForKey:@"foregroundView"] subviews];
            NSString *dataNetworkItemView = nil;
            for (id subview in subviews) {
                if([subview isKindOfClass:[NSClassFromString(@"UIStatusBarSignalStrengthItemView") class]]) {
                    dataNetworkItemView = subview;
                    break;
                }
            }
int signalStrength = [[dataNetworkItemView valueForKey:@"signalStrengthRaw"] intValue];

Обратите внимание, что мы используем приложение для корпоративных целей, поэтому нам не нужно беспокоиться об отказе Apple от использования частных платформ.

Любая помощь будет высоко оценена.

1 ответ

[app valueForKey:@"statusBar"] будет равен нулю в фоновом состоянии. Это потому, что statusBar не доступен в вашем приложении от bg.

Другие вопросы по тегам