Xamarin.iOS controle en toegang camera

move-to-ios-icon

Wanneer je een app ontwikkeld en je wilt hierin bijvoorbeeld gebruik maken van een bepaalde privacy gevoelige data bronnen (camera, microfoon, gallery, contacts etc.) Dan moet je hier de gebruiker om toestemming voor vragen, in dit stukje laat ik zien hoe je de camera toegang kunt controleren van de app, en hoe je bij de eerste keer opstarten van de app de gebruiker om toestemming kunt vragen om de camera te gebruiken. Let op wanneer er gebruik wordt gemaakt van asynchrone code, dat je wel wacht op de gebruikers interactie op de vragen. Bijvoorbeeld: await cameraAccess();

        public async Task cameraAccess()
        {
            // Ophalen camera toegangs status
            AVAuthorizationStatus authStatus = AVCaptureDevice.GetAuthorizationStatus(AVMediaType.Video);

            if (authStatus == AVAuthorizationStatus.Authorized)
            {
                // Ja we hebben toegang tot de camera
                return true;
            }
            else if (authStatus == AVAuthorizationStatus.Denied)
            {
                // Nee camera toegang stat uit
                return false;
            }
            else if (authStatus == AVAuthorizationStatus.Restricted)
            {
                // restricted, gebeurt normaal gesproken niet
                return false;
            }
            else if (authStatus == AVAuthorizationStatus.NotDetermined)
            {
                // Niet bekend, waarschijnlijk eerste keer dat de app gestart wordt
                bool CamresultData = await AVCaptureDevice.RequestAccessForMediaTypeAsync(AVMediaType.Video);
                return CamresultData;
            }
            else
            {
                return false;
            }
        }