Struct LAPolicy

Source
#[repr(transparent)]
pub struct LAPolicy(pub NSInteger);
Available on crate feature LAContext only.
Expand description

Tuple Fields§

§0: NSInteger

Implementations§

Source§

impl LAPolicy

Source

pub const DeviceOwnerAuthenticationWithBiometrics: Self

Device owner will be authenticated using a biometric method (Touch ID).

Biometric authentication is required. If Touch ID is not available, not enrolled or locked out, then the evaluation of this policy will fail with LAErrorBiometryNotAvailable, LAErrorBiometryNotEnrolled or LAErrorBiometryLockout.

Touch ID authentication dialog contains a cancel button with default title “Cancel” which can be customized using localizedCancelTitle property, and a fallback button with default title “Use Password…” which can be customized using localizedFallbackTitle property. Clicking either button causes evaluatePolicy call to fail, returning a distinct error code: LAErrorUserCancel or LAErrorUserFallback.

Biometric authentication will get locked after 5 unsuccessful attempts. After that, users have to unlock it by entering their account password. The password can be entered either at login window or in the preference sheets or even in application by the means of LAPolicyDeviceOwnerAuthentication. The system unlock is preferred user experience because we generaly don’t want users to enter their account password at application’s request.

Source

pub const DeviceOwnerAuthentication: Self

Device owner will be authenticated by biometry or user password.

Touch ID or user password authentication is required. If Touch ID is not available, not enrolled or locked out, then the user is asked for password right away.

Touch ID authentication dialog behaves similarly as the one used by LAPolicyDeviceOwnerAuthenticationWithBiometrics. However, the “Use Password..” button does not end the authentication. Instead, it switches the authentication mechanism to user password.

Source

pub const DeviceOwnerAuthenticationWithWatch: Self

👎Deprecated

Device owner will be authenticated by Watch.

Watch authentication is required. If no nearby paired watch device can be found, LAErrorWatchNotAvailable is returned.

Watch authentication dialog looks and behaves similarly to the biometric variant. Users can confirm authentication by double-clicking the side button on their watch.

Source

pub const DeviceOwnerAuthenticationWithCompanion: Self

Device owner will be authenticated by a companion device e.g. Watch, Mac, etc.

Companion authentication is required. If no nearby paired companion device can be found, LAErrorCompanionNotAvailable is returned.

Users should follow instructions on the companion device to authenticate.

Source

pub const DeviceOwnerAuthenticationWithBiometricsOrWatch: Self

👎Deprecated

Device owner will be authenticated by biometry or Watch.

Watch or biometric authentication is required. If no nearby paired watch device can be found, it behaves as LAPolicyDeviceOwnerAuthenticationWithBiometrics. Similarly, if biometry is unavailable it behaves as LAPolicyDeviceOwnerAuthenticationWithWatch.

Watch authentication dialog looks and behaves similarly to biometric variant. When both mechanisms are available, user is asked to use biometry and watch authentication will run in parallel.

Source

pub const DeviceOwnerAuthenticationWithBiometricsOrCompanion: Self

Device owner will be authenticated by biometry or a companion device e.g. Watch, Mac, etc.

Companion or biometric authentication is required. If no nearby paired companion device can be found, it behaves as LAPolicyDeviceOwnerAuthenticationWithBiometrics. Similarly, if biometry is unavailable it behaves as LAPolicyDeviceOwnerAuthenticationWithCompanion.

When both mechanisms are available, user is asked to use biometry and companion authentication will run in parallel. Users should follow instructions on the companion device to authenticate.

Source

pub const DeviceOwnerAuthenticationWithWristDetection: Self

Device owner will be authenticated by device passcode. The authentication will also succeed if the wrist detection is enabled, correct passcode was entered in the past and the watch has been on the wrist ever since.

Trait Implementations§

Source§

impl Clone for LAPolicy

Source§

fn clone(&self) -> LAPolicy

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for LAPolicy

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Encode for LAPolicy

Source§

const ENCODING: Encoding = NSInteger::ENCODING

The Objective-C type-encoding for this type.
Source§

impl Hash for LAPolicy

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl Ord for LAPolicy

Source§

fn cmp(&self, other: &LAPolicy) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · Source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · Source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · Source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
Source§

impl PartialEq for LAPolicy

Source§

fn eq(&self, other: &LAPolicy) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialOrd for LAPolicy

Source§

fn partial_cmp(&self, other: &LAPolicy) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · Source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · Source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · Source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · Source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl RefEncode for LAPolicy

Source§

const ENCODING_REF: Encoding

The Objective-C type-encoding for a reference of this type. Read more
Source§

impl Copy for LAPolicy

Source§

impl Eq for LAPolicy

Source§

impl StructuralPartialEq for LAPolicy

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> EncodeArgument for T
where T: Encode,

Source§

const ENCODING_ARGUMENT: Encoding = T::ENCODING

The Objective-C type-encoding for this type.
Source§

impl<T> EncodeReturn for T
where T: Encode,

Source§

const ENCODING_RETURN: Encoding = T::ENCODING

The Objective-C type-encoding for this type.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> AutoreleaseSafe for T
where T: ?Sized,