Warstwa podglądu kamery AVFoundation nie działa

Próbuję więc zaimplementować kamerę za pomocą AVFoundation. Myślę, że robię wszystko dobrze. to właśnie robię

utwórz sesjęuzyskać urządzenia typu wideourządzenia przechodzące przez pętlę, aby uzyskać aparat z tyłuuzyskać dane wejściowe urządzenia za pomocą urządzenia wymienionego w # 3 i dodać je do sesjiutwórz wyjście typuAVCaptureStillImageOutputustaw ustawienia wyjściowe i dodaj je do sesjizdobądź CALayer z mojego widoku 2 (wyjaśni poniżej, co mam na myśli przez widok 2)utwórz instancjęAVCaptureVideoPreviewLayerdodaj go do warstwy wymienionej w # 7zacznij uruchamiać sesję

Więc mam 2 widoki jeden nad drugim. Jeden na górze to Widok 1, a drugi to widok 2. Widok 1 powinien zapewniać niestandardowe sterowanie kamerą.

Oto kod:

self.session = [[AVCaptureSession alloc]init];
[self.session setSessionPreset:AVCaptureSessionPresetHigh];
NSArray *devices = [[NSArray alloc]init];
devices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo];
for (AVCaptureDevice *device in devices){
    if([device position] == AVCaptureDevicePositionBack){
        self.device = device;
        break;
    }
}
NSError *error;
self.input = [[AVCaptureDeviceInput alloc]initWithDevice:self.device error:&error];
if([self.session canAddInput:self.input]){
    [self.session addInput:self.input];    
}


self.stillImageOutput = [[AVCaptureStillImageOutput alloc]init];
NSDictionary *outputSettings = @{AVVideoCodecKey : AVVideoCodecJPEG};
[self.stillImageOutput setOutputSettings:outputSettings];

[self.session addOutput:self.stillImageOutput];

CALayer *cameraLayer = self.cameraView.layer;
self.cameraView.backgroundColor = [UIColor clearColor];

AVCaptureVideoPreviewLayer *preview = [[AVCaptureVideoPreviewLayer alloc]initWithSession:self.session];
[cameraLayer addSublayer:preview];

[self.session startRunning];

Dostaję widok 1 (ma on tło .png jako tło. Obraz ma otwór, dzięki czemu widok pod nim, widok 2 może być widoczny), a widok 2 jest widoczny, ale nie widzę, co powinienem. Ponieważ zmieniłem kolor tła dla widoku 2 na przezroczysty, widzę cały czarny. Mam zobaczyć, co widzi kamera.

questionAnswers(1)

yourAnswerToTheQuestion