1

セルの信号強度を計算するために、プライベート フレームワーク (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 の拒否について心配する必要はありません。

どんな助けでも大歓迎です。

4

1 に答える 1

0

バックグラウンド状態では[app valueForKey:@"statusBar"]nil に等しくなります。これは、アプリで bg から statusBar にアクセスできないためです。

于 2016-09-22T10:26:29.570 に答える