                     self.showMicrophoneSystemAlert(completion)
                 })
         } else {
-            completion?(granted: (authorizationStatus == AVAuthorizationStatus.Authorized), userDialogResult: .NoAction, systemDialogResult: .NoAction)
-        }
+            completion?(granted: microphoneAccessGranted, userDialogResult: .NoAction, systemDialogResult: .NoAction)
+        }
+    }
+}
+
+public extension PresentPrePermissions {
+    public var photoAccessGranted: Bool {
+        return ALAssetsLibrary.authorizationStatus() == ALAuthorizationStatus.Authorized
+    }
+    
+    public var contactsAccessGranted: Bool {
+        return ABAddressBookGetAuthorizationStatus() == ABAuthorizationStatus.Authorized
+    }
+    
+    public var locationAccessGranted: Bool {
+        return self.locationAuthorizationStatusPermitsAccess(CLLocationManager.authorizationStatus())
+    }
+    
+    public var remoteNotificationAccessGranted: Bool {
+        return self.remoteNotificationsEnabled()
+    }
+    
+    public var cameraAccessGranted: Bool {
+        return AVCaptureDevice.authorizationStatusForMediaType(AVMediaTypeVideo) == AVAuthorizationStatus.Authorized
+    }
+    
+    public var microphoneAccessGranted: Bool {
+        return AVCaptureDevice.authorizationStatusForMediaType(AVMediaTypeAudio) == AVAuthorizationStatus.Authorized
     }
 }
 

                }
            )
        } else {
            completion?(granted: self.locationAuthorizationStatusPermitsAccess(authorizationStatus), userDialogResult: .NoAction, systemDialogResult: .NoAction)
        }
    }
    

                    self.showCameraSystemAlert(completion)
                })
        } else {
            completion?(granted: cameraAccessGranted, userDialogResult: .NoAction, systemDialogResult: .NoAction)
        }
    }
    
