だからここに私の問題があります: 私は自分のアプリからかなり頻繁にアラートを受け取ります。アラートが発生したときのカスタムリングとバイブレーションがあるようにしました。アラートでもLEDライトを点滅させたいです。
アプリがフォアグラウンドにあるときにこれらのアラートが発生した場合、LED フラッシュとリング/バイブレーションが完全に正常に機能するように設定しました。ただし、アプリがバックグラウンドにあるときにアラートが発生した場合、リング/バイブレーションしか機能しません。
すべてのアプリから LED フラッシュ アラートを受け取るために、ユーザーが iPhone のシステム設定で有効にする必要はありません。inAppSettingsKit を使用し、ユーザーが LED フラッシュ アラートを必要とするかどうかの設定を追加しました。しかし、LED アラート メソッドがバックグラウンドで呼び出されても、LED は実際には点滅しません。これは、フォアグラウンドで使用しない限り、Apple が LED の制御を許可していないためですか? 誰かが回避策を知っていますか?
これは、オンとオフを切り替える最も簡単な部分です。これをさまざまなタイマーと通知方法で制御します。タイマーと通知はフォアグラウンドと同じようにバックグラウンドで呼び出されますが、バックグラウンドでは LED が点灯しません。
AVCaptureDevice *torched=[AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
[torched lockForConfiguration:nil];
[torched setTorchMode:YES];
[torched setFlashMode:YES];
[torched unlockForConfiguration];
ありがとう!