         }
     }
     
+    func checkCameraRoll (){
+        PHPhotoLibrary.requestAuthorization { status in
+            Async.main{
+                switch status {
+                case .Authorized:
+                    self.showImagePickerWithSourceType(.PhotoLibrary)
+                case .Restricted:
+                    self.showAlertActionForType(.PhotoLibrary)
+                case .Denied:
+                    self.showAlertActionForType(.PhotoLibrary)
+                default:
+                    break
+                }
+            }
+        }
+    }
+    
     func checkCamera() {
         let authStatus = AVCaptureDevice.authorizationStatusForMediaType(AVMediaTypeVideo)
         switch authStatus {

            actionSheet.addAction(showCameraAction)
            
            let showPhotoLibrary = UIAlertAction(title: "Choose from Album", style: .Default, handler: { (action) in
                let accessToPhoto = UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.SavedPhotosAlbum) //check for access to the camera roll
                if(!accessToPhoto) {
                    self.showAlertActionForType(.PhotoLibrary)
                } else {
                    self.showImagePickerWithSourceType(.PhotoLibrary)
                }
            })
            actionSheet.addAction(showPhotoLibrary)
            navVC.presentViewController(actionSheet, animated: true, completion: nil)

    func alertPromptToAllowCameraAccessViaSetting() {
        if AVCaptureDevice.devicesWithMediaType(AVMediaTypeVideo).count > 0 {
            AVCaptureDevice.requestAccessForMediaType(AVMediaTypeVideo) { granted in
                Async.main{
                    self.checkCamera()
                }
            }
