アプリを起動する前に、ユーザーがコントロール センターのライトをオンにしているかどうかを知りたいです。に次のコードを含む単純なテストアプリ全体があります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
問題:
「アクティブではありません」と言われますが、デバイスの懐中電灯はオンになっています。コントロールセンターでオンにしました。この情報を取得できないのはなぜですか?