Я создаю приложение AR, которому нужен фонарик, чтобы включить режим факела.Включение режима факела и затем включение сцены AR прекрасно работает на моем iPhone 8, но на iPhone X он включается, а затем снова выключается.Есть ли какой-то способ обойти это, или что-то конкретное, что я должен сделать, чтобы iPhone X работал?
- (void)turnTorchOn:(bool) on {
Class captureDeviceClass = NSClassFromString(@"AVCaptureDevice");
if (captureDeviceClass != nil) {
AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
if ([device hasTorch]){
[device lockForConfiguration:nil];
if (on) {
[device setTorchMode:AVCaptureTorchModeOn];
} else {
[device setTorchMode:AVCaptureTorchModeOff];
}
[device unlockForConfiguration];
}
}
}
А потом:
self.arConfig = [ARWorldTrackingConfiguration new];
self.arConfig.planeDetection = ARPlaneDetectionHorizontal;
self.sceneView = [[ARSCNView alloc] initWithFrame:self.view.frame];
[self.view addSubview:self.sceneView];
SCNScene *scene = [SCNScene new];
self.sceneView.scene = scene;
self.sceneView.autoenablesDefaultLighting = YES;
self.sceneView.delegate = self;
self.sceneView.session.delegate = self;
Более конкретно, эта строка отключаетсяфонарик:
self.sceneView = [[ARSCNView alloc] initWithFrame:self.view.frame];