1

アプリを起動する前に、ユーザーがコントロール センターのライトをオンにしているかどうかを知りたいです。に次のコードを含む単純なテストアプリ全体がありますviewDidLoad

for(AVCaptureDevice *device in [AVCaptureDevice devices]){
        if ([device isTorchAvailable] && [device hasTorch] ){
            NSLog(@"%ld -- %ld -- %@ -- %.2f -- %@", device.torchMode, device.flashMode, device.isFlashActive ? @"yes" : @"no", device.torchLevel, device.isTorchActive ? @"yes" : @"no");
        }
    }

ライトが点灯し、アプリが起動します。しかし、それは常に返します:

0 -- 0 -- いいえ -- 0.00 -- いいえ

それは言います:

AVCaptureDevice *デバイス;

device.torchMode = AVCaptureTorchModeOff
device.flashMode = AVCaptureFlashModeOff
device.isFlashActive = NO
device.torchLevel = 0.0f
device.isTorchActive = NO

問題:

「アクティブではありません」と言われますが、デバイスの懐中電灯はオンになっています。コントロールセンターでオンにしました。この情報を取得できないのはなぜですか?

4

1 に答える 1