【发布时间】:2015-08-21 09:03:39
【问题描述】:
嗨,我正在使用基于位置的应用程序,并且想在后台使用 iphone 相机手电筒。不幸的是,手电筒仅在前台工作,即使代码正在执行,它也会自动关闭后台闪光灯。 em>
我使用的代码只在前台工作
#import <AVFoundation/AVFoundation.h>
//flashcode
Class captureDeviceClass = NSClassFromString(@"AVCaptureDevice");
if (captureDeviceClass != nil) {
AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
if ([device hasTorch] && [device hasFlash]){
[device lockForConfiguration:nil];
if (device.torchMode == AVCaptureTorchModeOff)
{
[device setTorchMode:AVCaptureTorchModeOn];
[device setFlashMode:AVCaptureFlashModeOn];
//torchIsOn = YES;
}
else
{
[device setTorchMode:AVCaptureTorchModeOff];
[device setFlashMode:AVCaptureFlashModeOff];
// torchIsOn = NO;
}
[device unlockForConfiguration];
}
}
【问题讨论】:
-
如果有人解释一下当应用程序处于后台时苹果沙盒如何杀死手电筒会很好
-
我编辑了我的答案以进一步解释。
标签: objective-c ios8 background camera flashlight