localauthentication

package
v0.19.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 11, 2026 License: MIT Imports: 15 Imported by: 0

Documentation

Rendered for darwin/amd64

Overview

Package localauthentication provides a fluent Go API over the macOS LocalAuthentication framework.

Construction

New… functions create objects; each With… method sets one property and returns its receiver, so configuration calls chain. A <Type>FromID constructor adopts an Objective-C object obtained elsewhere.

Lifecycle

A wrapper releases its Objective-C object automatically once the garbage collector finds it unreachable. Call Release to relinquish the reference deterministically (for objects holding scarce resources); Release is idempotent, and afterwards the wrapper's methods are no-ops returning zero values.

Delegates

A …Delegate interface is implemented by a plain Go value and installed with the matching With… setter; the package builds the Objective-C delegate object behind the scenes. Optional protocol methods are separate one-method …Handler interfaces — implement the ones you need on the same value and the framework calls them too.

Types

Each base type below lists the concrete types you construct and pass where the base is accepted:

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func LAErrorDomain

func LAErrorDomain() obj.Object

LAErrorDomain returns the string constant LAErrorDomain, for use as a dictionary key or argument.

func LATouchIDAuthenticationMaximumAllowableReuseDuration

func LATouchIDAuthenticationMaximumAllowableReuseDuration() float64

LATouchIDAuthenticationMaximumAllowableReuseDuration returns the value of the constant LATouchIDAuthenticationMaximumAllowableReuseDuration.

Types

type AccessControlOperation added in v0.17.0

type AccessControlOperation int64

Operations to be evaluated for access control.

const (
	// Specifies that access control is used for item creation.
	AccessControlOperationCreateItem AccessControlOperation = 0
	// Specifies that access control is used for accessing an existing item.
	AccessControlOperationUseItem AccessControlOperation = 1
	// Specifies that access control is used for key creation.
	AccessControlOperationCreateKey AccessControlOperation = 2
	// Specifies that access control is used for accessing an existing key.
	AccessControlOperationUseKeySign AccessControlOperation = 3
	// Specifies that access control is used for data decryption using existing key.
	AccessControlOperationUseKeyDecrypt AccessControlOperation = 4
	// Specifies that access control is used for key exchange.
	AccessControlOperationUseKeyKeyExchange AccessControlOperation = 5
)

func (AccessControlOperation) String added in v0.17.0

func (e AccessControlOperation) String() string

String returns the AccessControlOperation constant's name, or its numeric form when the value is not a known constant.

type AuthenticationRequirement added in v0.17.0

type AuthenticationRequirement struct {
	objref.Handle
}

AuthenticationRequirement is an idiomatic wrapper over the Objective-C class LAAuthenticationRequirement.

A set of requirements that protect a right.

func AuthenticationRequirementFromID added in v0.17.0

func AuthenticationRequirementFromID(id objc.ID) *AuthenticationRequirement

AuthenticationRequirementFromID adopts an existing Objective-C object as a AuthenticationRequirement (nil for 0), retaining it and registering a release finalizer.

func BiometryCurrentSetRequirement added in v0.17.0

func BiometryCurrentSetRequirement() *AuthenticationRequirement

BiometryCurrentSetRequirement returns requires user authentication with the current biometric set The authorization will fail if:

func BiometryRequirement added in v0.17.0

func BiometryRequirement() *AuthenticationRequirement

BiometryRequirement returns requires biometric authentication The authorization will fail if:

func BiometryRequirementWithFallback added in v0.17.0

func BiometryRequirementWithFallback(fallback *BiometryFallbackRequirement) *AuthenticationRequirement

BiometryRequirementWithFallback creates a requirement that requires biometric authentication or a fallback requirement that you specify.

func DefaultRequirement added in v0.17.0

func DefaultRequirement() *AuthenticationRequirement

DefaultRequirement returns requires user authentication

func NewAuthenticationRequirement added in v0.17.0

func NewAuthenticationRequirement() *AuthenticationRequirement

NewAuthenticationRequirement creates a new AuthenticationRequirement.

func (*AuthenticationRequirement) Description added in v0.17.0

func (ar *AuthenticationRequirement) Description() string

Description returns the object's -description text.

func (*AuthenticationRequirement) IsEqual added in v0.17.0

func (ar *AuthenticationRequirement) IsEqual(other obj.Object) bool

IsEqual reports Objective-C equality (isEqual:) with another object.

func (*AuthenticationRequirement) IsKind added in v0.17.0

func (ar *AuthenticationRequirement) IsKind(className string) bool

IsKind reports whether the object is an instance of the named class or a subclass.

func (*AuthenticationRequirement) String added in v0.17.0

func (ar *AuthenticationRequirement) String() string

String returns the object's -description text, so a wrapper prints usefully under fmt.

type BiometryFallbackRequirement added in v0.17.0

type BiometryFallbackRequirement struct {
	objref.Handle
}

BiometryFallbackRequirement is an idiomatic wrapper over the Objective-C class LABiometryFallbackRequirement.

A set of requirements to fall back on if biometrics aren’t present.

func BiometryFallbackRequirementFromID added in v0.17.0

func BiometryFallbackRequirementFromID(id objc.ID) *BiometryFallbackRequirement

BiometryFallbackRequirementFromID adopts an existing Objective-C object as a BiometryFallbackRequirement (nil for 0), retaining it and registering a release finalizer.

func DevicePasscodeRequirement added in v0.17.0

func DevicePasscodeRequirement() *BiometryFallbackRequirement

DevicePasscodeRequirement returns requires authorization using the device passcode

func LABiometryFallbackRequirementDefaultRequirement

func LABiometryFallbackRequirementDefaultRequirement() *BiometryFallbackRequirement

LABiometryFallbackRequirementDefaultRequirement returns use default biometric fallback

func NewBiometryFallbackRequirement added in v0.17.0

func NewBiometryFallbackRequirement() *BiometryFallbackRequirement

NewBiometryFallbackRequirement creates a new BiometryFallbackRequirement.

func (*BiometryFallbackRequirement) Description added in v0.17.0

func (bfr *BiometryFallbackRequirement) Description() string

Description returns the object's -description text.

func (*BiometryFallbackRequirement) IsEqual added in v0.17.0

func (bfr *BiometryFallbackRequirement) IsEqual(other obj.Object) bool

IsEqual reports Objective-C equality (isEqual:) with another object.

func (*BiometryFallbackRequirement) IsKind added in v0.17.0

func (bfr *BiometryFallbackRequirement) IsKind(className string) bool

IsKind reports whether the object is an instance of the named class or a subclass.

func (*BiometryFallbackRequirement) String added in v0.17.0

func (bfr *BiometryFallbackRequirement) String() string

String returns the object's -description text, so a wrapper prints usefully under fmt.

type BiometryType added in v0.17.0

type BiometryType int64

The set of available biometric authentication types.

const (
	// No biometry type is supported.
	BiometryTypeNone BiometryType = 0
	// No biometry type is supported.
	//
	// Deprecated: since macOS 10.13.2.
	BiometryNone BiometryType = 0
	// The device supports Touch ID.
	//
	// Deprecated: since macOS 10.13.2.
	BiometryTypeTouchID BiometryType = 1
	// The device supports Face ID.
	BiometryTypeFaceID BiometryType = 2
	// The device supports Optic ID.
	BiometryTypeOpticID BiometryType = 4
)

func (BiometryType) String added in v0.17.0

func (e BiometryType) String() string

String returns the BiometryType constant's name, or its numeric form when the value is not a known constant.

type Clockid added in v0.17.0

type Clockid int32
const (
	ClockidRealtime           Clockid = 0
	ClockidMonotonic          Clockid = 6
	ClockidMonotonicRaw       Clockid = 4
	ClockidMonotonicRawApprox Clockid = 5
	ClockidUptimeRaw          Clockid = 8
	ClockidUptimeRawApprox    Clockid = 9
	ClockidProcessCputimeID   Clockid = 12
	ClockidThreadCputimeID    Clockid = 16
)

func (Clockid) String added in v0.17.0

func (e Clockid) String() string

String returns the Clockid constant's name, or its numeric form when the value is not a known constant.

type CompanionType added in v0.17.0

type CompanionType int64
const (
	// Paired Apple Watch
	CompanionTypeWatch CompanionType = 1
)

func (CompanionType) String added in v0.17.0

func (e CompanionType) String() string

String returns the CompanionType constant's name, or its numeric form when the value is not a known constant.

type Context added in v0.17.0

type Context struct {
	objref.Handle
}

Context is an idiomatic wrapper over the Objective-C class LAContext.

A mechanism for evaluating authentication policies and access controls.

func ContextFromID added in v0.17.0

func ContextFromID(id objc.ID) *Context

ContextFromID adopts an existing Objective-C object as a Context (nil for 0), retaining it and registering a release finalizer.

func NewContext added in v0.17.0

func NewContext() *Context

NewContext creates a new Context.

func (*Context) BiometryType added in v0.17.0

func (c *Context) BiometryType() BiometryType

BiometryType indicates the type of the biometry supported by the device.

func (*Context) CanEvaluatePolicy added in v0.17.0

func (c *Context) CanEvaluatePolicy(policy Policy) error

CanEvaluatePolicy assesses whether authentication can proceed for a given policy.

func (*Context) Description added in v0.17.0

func (c *Context) Description() string

Description returns the object's -description text.

func (*Context) DomainState added in v0.17.0

func (c *Context) DomainState() *DomainState

DomainState contains authentication domain state.

func (*Context) EvaluateAccessControlOperationLocalizedReasonReply added in v0.18.0

func (c *Context) EvaluateAccessControlOperationLocalizedReasonReply(accessControl obj.Object, operation AccessControlOperation, localizedReason string, reply func(bool, unsafe.Pointer))

EvaluateAccessControlOperationLocalizedReasonReply evaluates an access control for a given operation.

func (*Context) EvaluatePolicyLocalizedReasonReply added in v0.18.0

func (c *Context) EvaluatePolicyLocalizedReasonReply(policy Policy, localizedReason string, reply func(bool, unsafe.Pointer))

EvaluatePolicyLocalizedReasonReply evaluates the specified policy.

func (*Context) EvaluatedPolicyDomainState added in v0.17.0

func (c *Context) EvaluatedPolicyDomainState() []byte

EvaluatedPolicyDomainState contains policy domain state. This property is set only when evaluatePolicy is called and succesful Touch ID or Face ID authentication was performed, or when canEvaluatePolicy succeeds for a biometric policy. It stays nil for all other cases. If biometric database was modified (fingers or faces were removed or added), evaluatedPolicyDomainState data will change. Nature of such database changes cannot be determined but comparing data of evaluatedPolicyDomainState after different evaluatePolicy will reveal the fact database was changed between calls.

func (*Context) InteractionNotAllowed added in v0.17.0

func (c *Context) InteractionNotAllowed() bool

InteractionNotAllowed reports whether allows running authentication in non-interactive mode. If the context is used in a keychain query by the means of kSecUseAuthenticationContext, then setting this property to true has the same effect as passing kSecUseNoAuthenticationUI in the query, i.e. the keychain call will eventually fail with errSecInteractionNotAllowed instead of displaying the authentication UI. If this property is used with a LocalAuthentication evaluation, it will eventually fail with LAErrorNotInteractive instead of displaying the authentication UI.

func (*Context) Invalidate added in v0.17.0

func (c *Context) Invalidate()

Invalidate invalidates the authentication context.

func (*Context) IsCredentialSet added in v0.17.0

func (c *Context) IsCredentialSet(type_ CredentialType) bool

IsCredentialSet returns a Boolean value indicating whether the specified credential type is set.

func (*Context) IsEqual added in v0.17.0

func (c *Context) IsEqual(other obj.Object) bool

IsEqual reports Objective-C equality (isEqual:) with another object.

func (*Context) IsKind added in v0.17.0

func (c *Context) IsKind(className string) bool

IsKind reports whether the object is an instance of the named class or a subclass.

func (*Context) LocalizedCancelTitle added in v0.17.0

func (c *Context) LocalizedCancelTitle() string

LocalizedCancelTitle returns cancel button title. Allows cancel button title customization. A default title "Cancel" is used when this property is left nil or is set to empty string.

func (*Context) LocalizedFallbackTitle added in v0.17.0

func (c *Context) LocalizedFallbackTitle() string

LocalizedFallbackTitle returns fallback button title. Allows fallback button title customization. If set to empty string, the button will be hidden. A default title "Use Password…" is used when this property is left nil.

func (*Context) LocalizedReason added in v0.17.0

func (c *Context) LocalizedReason() string

LocalizedReason returns allows setting the default localized authentication reason on context. A localized string from this property is displayed in the authentication UI if the caller didn't specify its own authentication reason (e.g. a keychain operation with kSecUseAuthenticationContext). This property is ignored if the authentication reason was provided by caller.

func (*Context) MaxBiometryFailures added in v0.17.0

func (c *Context) MaxBiometryFailures() *foundation.Number

MaxBiometryFailures returns this property is deprecated and setting it has no effect.

func (*Context) SetCredentialType added in v0.17.0

func (c *Context) SetCredentialType(credential []byte, type_ CredentialType) bool

SetCredentialType sets an application-provided credential to be used when evaluating authentication.

func (*Context) String added in v0.17.0

func (c *Context) String() string

String returns the object's -description text, so a wrapper prints usefully under fmt.

func (*Context) TouchIDAuthenticationAllowableReuseDuration added in v0.17.0

func (c *Context) TouchIDAuthenticationAllowableReuseDuration() float64

TouchIDAuthenticationAllowableReuseDuration returns time interval for accepting a successful Touch ID or Face ID device unlock (on the lock screen) from the past. This property can be set with a time interval in seconds. If the device was successfully unlocked by biometry within this time interval, then biometric authentication on this context will succeed automatically and the reply block will be called without prompting user for Touch ID or Face ID. The default value is 0, meaning that no previous biometric unlock can be reused. This property is meant only for reusing biometric matches from the device lock screen. It does not allow reusing previous biometric matches in application or between applications. The maximum supported interval is 5 minutes and setting the value beyond 5 minutes does not increase the accepted interval.

func (*Context) WithInteractionNotAllowed added in v0.17.0

func (c *Context) WithInteractionNotAllowed(interactionNotAllowed bool) *Context

WithInteractionNotAllowed sets a Boolean value indicating whether authentication can be interactive.

func (*Context) WithLocalizedCancelTitle added in v0.17.0

func (c *Context) WithLocalizedCancelTitle(localizedCancelTitle string) *Context

WithLocalizedCancelTitle sets the localized title for the cancel button in the dialog presented to the user during authentication.

func (*Context) WithLocalizedFallbackTitle added in v0.17.0

func (c *Context) WithLocalizedFallbackTitle(localizedFallbackTitle string) *Context

WithLocalizedFallbackTitle sets the localized title for the fallback button in the dialog presented to the user during authentication.

func (*Context) WithLocalizedReason added in v0.17.0

func (c *Context) WithLocalizedReason(localizedReason string) *Context

WithLocalizedReason sets the localized explanation for authentication shown in the dialog presented to the user.

func (*Context) WithMaxBiometryFailures added in v0.17.0

func (c *Context) WithMaxBiometryFailures(maxBiometryFailures obj.Object) *Context

WithMaxBiometryFailures sets the number of biometric authentication failures after which the context falls back to another mechanism.

func (*Context) WithTouchIDAuthenticationAllowableReuseDuration added in v0.17.0

func (c *Context) WithTouchIDAuthenticationAllowableReuseDuration(touchIDAuthenticationAllowableReuseDuration float64) *Context

WithTouchIDAuthenticationAllowableReuseDuration sets the duration for which Touch ID authentication reuse is allowable.

type CredentialType added in v0.17.0

type CredentialType int64

The types of credentials to be used for authentication.

const (
	// Specifies that a password is provided by the application.
	CredentialTypeApplicationPassword CredentialType = 0
	// Smart card PIN provided by application If not set, LocalAuthentication will ask users for the smart card PIN when necessary. Applications can provide the PIN using setCredential method. In such case, LocalAuthentication will not show the smart card PIN user interface. When entered from the LocalAuthentication user interface, the PIN is stored as UTF-8 encoded string.
	CredentialTypeSmartCardPIN CredentialType = -3
)

func (CredentialType) String added in v0.17.0

func (e CredentialType) String() string

String returns the CredentialType constant's name, or its numeric form when the value is not a known constant.

type DispatchAutoreleaseFrequency added in v0.17.0

type DispatchAutoreleaseFrequency uint64
const (
	DispatchAutoreleaseFrequencyInherit  DispatchAutoreleaseFrequency = 0
	DispatchAutoreleaseFrequencyWorkItem DispatchAutoreleaseFrequency = 1
	DispatchAutoreleaseFrequencyNever    DispatchAutoreleaseFrequency = 2
)

func (DispatchAutoreleaseFrequency) String added in v0.17.0

String returns the DispatchAutoreleaseFrequency constant's name, or its numeric form when the value is not a known constant.

type DispatchBlockFlags added in v0.17.0

type DispatchBlockFlags uint64

Bitmask — values may be combined with |.

const (
	DispatchBlockFlagsBarrier         DispatchBlockFlags = 1
	DispatchBlockFlagsDetached        DispatchBlockFlags = 2
	DispatchBlockFlagsAssignCurrent   DispatchBlockFlags = 4
	DispatchBlockFlagsNoQosClass      DispatchBlockFlags = 8
	DispatchBlockFlagsInheritQosClass DispatchBlockFlags = 16
	DispatchBlockFlagsEnforceQosClass DispatchBlockFlags = 32
)

func (DispatchBlockFlags) String added in v0.17.0

func (e DispatchBlockFlags) String() string

String returns the DispatchBlockFlags constant's name, or its numeric form when the value is not a known constant.

type DomainState added in v0.17.0

type DomainState struct {
	objref.Handle
}

DomainState is an idiomatic wrapper over the Objective-C class LADomainState.

func DomainStateFromID added in v0.17.0

func DomainStateFromID(id objc.ID) *DomainState

DomainStateFromID adopts an existing Objective-C object as a DomainState (nil for 0), retaining it and registering a release finalizer.

func NewDomainState added in v0.17.0

func NewDomainState() *DomainState

NewDomainState creates a new DomainState.

func (*DomainState) Biometry added in v0.17.0

func (ds *DomainState) Biometry() *DomainStateBiometry

Biometry contains biometric domain state.

func (*DomainState) Companion added in v0.17.0

func (ds *DomainState) Companion() *DomainStateCompanion

Companion contains companion domain state.

func (*DomainState) Description added in v0.17.0

func (ds *DomainState) Description() string

Description returns the object's -description text.

func (*DomainState) IsEqual added in v0.17.0

func (ds *DomainState) IsEqual(other obj.Object) bool

IsEqual reports Objective-C equality (isEqual:) with another object.

func (*DomainState) IsKind added in v0.17.0

func (ds *DomainState) IsKind(className string) bool

IsKind reports whether the object is an instance of the named class or a subclass.

func (*DomainState) StateHash added in v0.17.0

func (ds *DomainState) StateHash() []byte

StateHash contains combined state hash data for biometry and companion state hashes.

func (*DomainState) String added in v0.17.0

func (ds *DomainState) String() string

String returns the object's -description text, so a wrapper prints usefully under fmt.

type DomainStateBiometry added in v0.17.0

type DomainStateBiometry struct {
	objref.Handle
}

DomainStateBiometry is an idiomatic wrapper over the Objective-C class LADomainStateBiometry.

func DomainStateBiometryFromID added in v0.17.0

func DomainStateBiometryFromID(id objc.ID) *DomainStateBiometry

DomainStateBiometryFromID adopts an existing Objective-C object as a DomainStateBiometry (nil for 0), retaining it and registering a release finalizer.

func NewDomainStateBiometry added in v0.17.0

func NewDomainStateBiometry() *DomainStateBiometry

NewDomainStateBiometry creates a new DomainStateBiometry.

func (*DomainStateBiometry) BiometryType added in v0.17.0

func (dsb *DomainStateBiometry) BiometryType() BiometryType

BiometryType indicates biometry type available on the device.

func (*DomainStateBiometry) Description added in v0.17.0

func (dsb *DomainStateBiometry) Description() string

Description returns the object's -description text.

func (*DomainStateBiometry) IsEqual added in v0.17.0

func (dsb *DomainStateBiometry) IsEqual(other obj.Object) bool

IsEqual reports Objective-C equality (isEqual:) with another object.

func (*DomainStateBiometry) IsKind added in v0.17.0

func (dsb *DomainStateBiometry) IsKind(className string) bool

IsKind reports whether the object is an instance of the named class or a subclass.

func (*DomainStateBiometry) StateHash added in v0.17.0

func (dsb *DomainStateBiometry) StateHash() []byte

StateHash contains state hash data for the available biometry type. Returns `nil` if no biometry entities are enrolled. If biometric database was modified (fingers, faces were removed or added), `stateHash` data will change. Nature of such database changes cannot be determined but comparing data of `stateHash` after different evaluatePolicy calls will reveal the fact database was changed between the calls.

func (*DomainStateBiometry) String added in v0.17.0

func (dsb *DomainStateBiometry) String() string

String returns the object's -description text, so a wrapper prints usefully under fmt.

type DomainStateCompanion added in v0.17.0

type DomainStateCompanion struct {
	objref.Handle
}

DomainStateCompanion is an idiomatic wrapper over the Objective-C class LADomainStateCompanion.

func DomainStateCompanionFromID added in v0.17.0

func DomainStateCompanionFromID(id objc.ID) *DomainStateCompanion

DomainStateCompanionFromID adopts an existing Objective-C object as a DomainStateCompanion (nil for 0), retaining it and registering a release finalizer.

func NewDomainStateCompanion added in v0.17.0

func NewDomainStateCompanion() *DomainStateCompanion

NewDomainStateCompanion creates a new DomainStateCompanion.

func (*DomainStateCompanion) AvailableCompanionTypes added in v0.17.0

func (dsc *DomainStateCompanion) AvailableCompanionTypes() []*foundation.Number

AvailableCompanionTypes indicates types of companions paired with the device. The elements are NSNumber-wrapped instances of

func (*DomainStateCompanion) Description added in v0.17.0

func (dsc *DomainStateCompanion) Description() string

Description returns the object's -description text.

func (*DomainStateCompanion) IsEqual added in v0.17.0

func (dsc *DomainStateCompanion) IsEqual(other obj.Object) bool

IsEqual reports Objective-C equality (isEqual:) with another object.

func (*DomainStateCompanion) IsKind added in v0.17.0

func (dsc *DomainStateCompanion) IsKind(className string) bool

IsKind reports whether the object is an instance of the named class or a subclass.

func (*DomainStateCompanion) StateHash added in v0.17.0

func (dsc *DomainStateCompanion) StateHash() []byte

StateHash contains combined state hash data for all available companion types. . Returns `nil` if no companion devices are paired. As long as database of paired companion devices doesn't change, `stateHash` stays the same for the same set of `availableCompanions`. If database of paired companion devices was modified, `stateHash` data will change. Nature of such database changes cannot be determined but comparing data of `stateHash` after different policy evaluation will reveal the fact database was changed between calls. If you are interested in a state hash for a specific companion type you can use `stateHashForCompanionType` method.

func (*DomainStateCompanion) StateHashForCompanionType added in v0.17.0

func (dsc *DomainStateCompanion) StateHashForCompanionType(companionType CompanionType) []byte

StateHashForCompanionType returns state hash data for the given companion type.

func (*DomainStateCompanion) String added in v0.17.0

func (dsc *DomainStateCompanion) String() string

String returns the object's -description text, so a wrapper prints usefully under fmt.

type EntryID added in v0.17.0

type EntryID int32
const (
	EntryIDFirstEntry EntryID = 0
	EntryIDNextEntry  EntryID = -1
	EntryIDLastEntry  EntryID = -2
)

func (EntryID) String added in v0.17.0

func (e EntryID) String() string

String returns the EntryID constant's name, or its numeric form when the value is not a known constant.

type Environment added in v0.17.0

type Environment struct {
	objref.Handle
}

Environment is an idiomatic wrapper over the Objective-C class LAEnvironment.

func CurrentUser added in v0.17.0

func CurrentUser() *Environment

CurrentUser returns environment of the current user.

func EnvironmentFromID added in v0.17.0

func EnvironmentFromID(id objc.ID) *Environment

EnvironmentFromID adopts an existing Objective-C object as a Environment (nil for 0), retaining it and registering a release finalizer.

func NewEnvironment added in v0.17.0

func NewEnvironment() *Environment

NewEnvironment creates a new Environment.

func (*Environment) Description added in v0.17.0

func (e *Environment) Description() string

Description returns the object's -description text.

func (*Environment) IsEqual added in v0.17.0

func (e *Environment) IsEqual(other obj.Object) bool

IsEqual reports Objective-C equality (isEqual:) with another object.

func (*Environment) IsKind added in v0.17.0

func (e *Environment) IsKind(className string) bool

IsKind reports whether the object is an instance of the named class or a subclass.

func (*Environment) State added in v0.17.0

func (e *Environment) State() *EnvironmentState

State returns the environment state information.

func (*Environment) String added in v0.17.0

func (e *Environment) String() string

String returns the object's -description text, so a wrapper prints usefully under fmt.

type EnvironmentMechanism added in v0.17.0

type EnvironmentMechanism struct {
	objref.Handle
}

EnvironmentMechanism is an idiomatic wrapper over the Objective-C class LAEnvironmentMechanism.

EnvironmentMechanism is an abstract base — you do not construct it directly. Construct one of EnvironmentMechanismBiometry, EnvironmentMechanismCompanion, EnvironmentMechanismUserPassword and pass it where a EnvironmentMechanism is accepted.

func EnvironmentMechanismFromID added in v0.17.0

func EnvironmentMechanismFromID(id objc.ID) *EnvironmentMechanism

EnvironmentMechanismFromID adopts an existing Objective-C object as a EnvironmentMechanism (nil for 0), retaining it and registering a release finalizer.

func (*EnvironmentMechanism) Description added in v0.17.0

func (em *EnvironmentMechanism) Description() string

Description returns the object's -description text.

func (*EnvironmentMechanism) IconSystemName added in v0.17.0

func (em *EnvironmentMechanism) IconSystemName() string

IconSystemName returns name of the SF Symbol representing this authentication mechanism.

func (*EnvironmentMechanism) IsEqual added in v0.17.0

func (em *EnvironmentMechanism) IsEqual(other obj.Object) bool

IsEqual reports Objective-C equality (isEqual:) with another object.

func (*EnvironmentMechanism) IsKind added in v0.17.0

func (em *EnvironmentMechanism) IsKind(className string) bool

IsKind reports whether the object is an instance of the named class or a subclass.

func (*EnvironmentMechanism) IsUsable added in v0.17.0

func (em *EnvironmentMechanism) IsUsable() bool

IsUsable reports whether the mechanism is available for use, i.e. whether the relevant preflight call of

func (*EnvironmentMechanism) LocalizedName added in v0.17.0

func (em *EnvironmentMechanism) LocalizedName() string

LocalizedName returns the localized name of the authentication mechanism, e.g. "Touch ID", "Face ID" etc.

func (*EnvironmentMechanism) String added in v0.17.0

func (em *EnvironmentMechanism) String() string

String returns the object's -description text, so a wrapper prints usefully under fmt.

type EnvironmentMechanismBiometry added in v0.17.0

type EnvironmentMechanismBiometry struct {
	EnvironmentMechanism
}

EnvironmentMechanismBiometry is an idiomatic wrapper over the Objective-C class LAEnvironmentMechanismBiometry.

It embeds EnvironmentMechanism, promoting that type's methods.

func EnvironmentMechanismBiometryFromID added in v0.17.0

func EnvironmentMechanismBiometryFromID(id objc.ID) *EnvironmentMechanismBiometry

EnvironmentMechanismBiometryFromID adopts an existing Objective-C object as a EnvironmentMechanismBiometry (nil for 0), retaining it and registering a release finalizer.

func NewEnvironmentMechanismBiometry added in v0.17.0

func NewEnvironmentMechanismBiometry() *EnvironmentMechanismBiometry

NewEnvironmentMechanismBiometry creates a new EnvironmentMechanismBiometry.

func (*EnvironmentMechanismBiometry) BiometryType added in v0.17.0

func (emb *EnvironmentMechanismBiometry) BiometryType() BiometryType

BiometryType returns type of biometry supported by the device. This property does not indicate whether biometry is available or not. It always reads the type of biometry supported by device hardware. You should check

func (*EnvironmentMechanismBiometry) BuiltInSensorInaccessible added in v0.17.0

func (emb *EnvironmentMechanismBiometry) BuiltInSensorInaccessible() bool

BuiltInSensorInaccessible reports whether the built in biometric sensor is inaccessible in the current configuration, preventing the use of biometry. Currently, the only example of this is a Clamshell Mode on macOS. The user will be not able to use Touch ID if the MacBook lid is closed while connected to external monitor and keyboard, unless the external keyboard has Touch ID.

func (*EnvironmentMechanismBiometry) IsEnrolled added in v0.17.0

func (emb *EnvironmentMechanismBiometry) IsEnrolled() bool

IsEnrolled reports whether the user has enrolled this biometry. Even if biometry is enrolled, it does not necessarily mean that it can be used. You should check

func (*EnvironmentMechanismBiometry) IsLockedOut added in v0.17.0

func (emb *EnvironmentMechanismBiometry) IsLockedOut() bool

IsLockedOut reports whether biometry is locked out. The system might lock the user out of biometry for various reasons. For example, with Face ID, the user is locked out after 5 failed match attempts in row. To recover from bio lockout, users need to enter their passcode (e.g. during device ulock).

func (*EnvironmentMechanismBiometry) StateHash added in v0.17.0

func (emb *EnvironmentMechanismBiometry) StateHash() []byte

StateHash returns the application specific state of the biometric enrollment as returned by This value represents the state of the enrollment and changes whenever the biometric enrollment is changed. It does not directly map to the enrolled templates, e.g. if a finger is added to Touch ID enrollment and then removed, the final state would be different. It also returns different values to different apps to prevent tracking of user identity.

type EnvironmentMechanismCompanion added in v0.17.0

type EnvironmentMechanismCompanion struct {
	EnvironmentMechanism
}

EnvironmentMechanismCompanion is an idiomatic wrapper over the Objective-C class LAEnvironmentMechanismCompanion.

It embeds EnvironmentMechanism, promoting that type's methods.

func EnvironmentMechanismCompanionFromID added in v0.17.0

func EnvironmentMechanismCompanionFromID(id objc.ID) *EnvironmentMechanismCompanion

EnvironmentMechanismCompanionFromID adopts an existing Objective-C object as a EnvironmentMechanismCompanion (nil for 0), retaining it and registering a release finalizer.

func NewEnvironmentMechanismCompanion added in v0.17.0

func NewEnvironmentMechanismCompanion() *EnvironmentMechanismCompanion

NewEnvironmentMechanismCompanion creates a new EnvironmentMechanismCompanion.

func (*EnvironmentMechanismCompanion) StateHash added in v0.17.0

func (emc *EnvironmentMechanismCompanion) StateHash() []byte

StateHash returns hash of the current companion pairing as returned by If no companion are paired for this companion type,

func (*EnvironmentMechanismCompanion) Type added in v0.17.0

Type returns type of the companion.

type EnvironmentMechanismProvider added in v0.17.0

type EnvironmentMechanismProvider interface {
	objref.Object
	// contains filtered or unexported methods
}

EnvironmentMechanismProvider is accepted wherever a LAEnvironmentMechanism (or one of its subclasses) is expected.

type EnvironmentMechanismUserPassword added in v0.17.0

type EnvironmentMechanismUserPassword struct {
	EnvironmentMechanism
}

EnvironmentMechanismUserPassword is an idiomatic wrapper over the Objective-C class LAEnvironmentMechanismUserPassword.

It embeds EnvironmentMechanism, promoting that type's methods.

func EnvironmentMechanismUserPasswordFromID added in v0.17.0

func EnvironmentMechanismUserPasswordFromID(id objc.ID) *EnvironmentMechanismUserPassword

EnvironmentMechanismUserPasswordFromID adopts an existing Objective-C object as a EnvironmentMechanismUserPassword (nil for 0), retaining it and registering a release finalizer.

func NewEnvironmentMechanismUserPassword added in v0.17.0

func NewEnvironmentMechanismUserPassword() *EnvironmentMechanismUserPassword

NewEnvironmentMechanismUserPassword creates a new EnvironmentMechanismUserPassword.

func (*EnvironmentMechanismUserPassword) IsSet added in v0.17.0

func (emup *EnvironmentMechanismUserPassword) IsSet() bool

IsSet reports whether the object is set.

type EnvironmentObserver added in v0.17.0

type EnvironmentObserver interface {
}

EnvironmentObserver receives the callbacks of the Objective-C protocol LAEnvironmentObserver. Pass an implementation to the matching With… setter; the wrapper builds the Objective-C delegate object for you. Every method listed here is required. The protocol's optional methods are separate one-method interfaces (EnvironmentObserver…Handler): implement the ones you need on the same value and the framework will call them too.

type EnvironmentObserverEnvironmentStateDidChangeFromOldStateHandler added in v0.17.0

type EnvironmentObserverEnvironmentStateDidChangeFromOldStateHandler interface {
	EnvironmentStateDidChangeFromOldState(environment *Environment, oldState *EnvironmentState)
}

EnvironmentObserverEnvironmentStateDidChangeFromOldStateHandler is the optional LAEnvironmentObserver method environment:stateDidChangeFromOldState:. Implement it on a EnvironmentObserver value to receive that callback; a value without it is simply never sent one.

type EnvironmentState added in v0.17.0

type EnvironmentState struct {
	objref.Handle
}

EnvironmentState is an idiomatic wrapper over the Objective-C class LAEnvironmentState.

func EnvironmentStateFromID added in v0.17.0

func EnvironmentStateFromID(id objc.ID) *EnvironmentState

EnvironmentStateFromID adopts an existing Objective-C object as a EnvironmentState (nil for 0), retaining it and registering a release finalizer.

func NewEnvironmentState added in v0.17.0

func NewEnvironmentState() *EnvironmentState

NewEnvironmentState creates a new EnvironmentState.

func (*EnvironmentState) AllMechanisms added in v0.17.0

func (es *EnvironmentState) AllMechanisms() []*EnvironmentMechanism

AllMechanisms returns information about all authentication mechanisms. This property aggregates

AllMechanisms returns the collection as a Go slice.

func (*EnvironmentState) Biometry added in v0.17.0

Biometry returns information about biometric authentication (Touch ID, Face ID or Optic ID).

func (*EnvironmentState) Companions added in v0.17.0

func (es *EnvironmentState) Companions() []*EnvironmentMechanismCompanion

Companions returns companion authentication mechanisms. Companion mechanisms such as Apple Watch can appear and disappear as they get in and out of reach, but this property enumerates paired companions, even if they are not reachable at the moment. Check

Companions returns the collection as a Go slice.

func (*EnvironmentState) Description added in v0.17.0

func (es *EnvironmentState) Description() string

Description returns the object's -description text.

func (*EnvironmentState) IsEqual added in v0.17.0

func (es *EnvironmentState) IsEqual(other obj.Object) bool

IsEqual reports Objective-C equality (isEqual:) with another object.

func (*EnvironmentState) IsKind added in v0.17.0

func (es *EnvironmentState) IsKind(className string) bool

IsKind reports whether the object is an instance of the named class or a subclass.

func (*EnvironmentState) String added in v0.17.0

func (es *EnvironmentState) String() string

String returns the object's -description text, so a wrapper prints usefully under fmt.

func (*EnvironmentState) UserPassword added in v0.17.0

UserPassword returns information about local user password (on macOS) or passcode (on embedded platforms).

type Error added in v0.17.0

type Error int64

Errors issued by the LocalAuthentication framework.

const (
	// Authentication was not successful because user failed to provide valid credentials.
	ErrorAuthenticationFailed Error = -1
	// Authentication was canceled by user (e.g. tapped Cancel button).
	ErrorUserCancel Error = -2
	// Authentication was canceled because the user tapped the fallback button (Enter Password).
	ErrorUserFallback Error = -3
	// Authentication was canceled by system (e.g. another application went to foreground).
	ErrorSystemCancel Error = -4
	// Authentication could not start because passcode is not set on the device.
	ErrorPasscodeNotSet Error = -5
	// Authentication could not start because Touch ID is not available on the device.
	ErrorTouchIDNotAvailable Error = -6
	// Authentication could not start because Touch ID has no enrolled fingers.
	ErrorTouchIDNotEnrolled Error = -7
	// Authentication was not successful because there were too many failed Touch ID attempts and Touch ID is now locked. Passcode is required to unlock Touch ID, e.g. evaluating LAPolicyDeviceOwnerAuthenticationWithBiometrics will ask for passcode as a prerequisite.
	ErrorTouchIDLockout Error = -8
	// Authentication was canceled by application (e.g. invalidate was called while authentication was in progress).
	ErrorAppCancel Error = -9
	// LAContext passed to this call has been previously invalidated.
	ErrorInvalidContext Error = -10
	// Authentication could not start because biometry is not available on the device.
	ErrorBiometryNotAvailable Error = -6
	// Authentication could not start because biometry has no enrolled identities.
	ErrorBiometryNotEnrolled Error = -7
	// Authentication was not successful because there were too many failed biometry attempts and biometry is now locked. Passcode is required to unlock biometry, e.g. evaluating LAPolicyDeviceOwnerAuthenticationWithBiometrics will ask for passcode as a prerequisite.
	ErrorBiometryLockout Error = -8
	// Authentication failed because it would require showing UI which has been forbidden by using interactionNotAllowed property.
	ErrorNotInteractive Error = -1004
	// Authentication could not start because there was no paired watch device nearby.
	//
	// Deprecated: since macOS 15.0.
	ErrorWatchNotAvailable Error = -11
	// Authentication could not start because there was no paired companion device nearby.
	ErrorCompanionNotAvailable Error = -11
	// Authentication could not start because this device supports biometry only via removable accessories and no accessory has been paired.
	ErrorBiometryNotPaired Error = -12
	// Authentication could not start because this device supports biometry only via removable accessories and the paired accessory is not connected.
	ErrorBiometryDisconnected Error = -13
	// Authentication could not start because dimensions of embedded UI are invalid.
	ErrorInvalidDimensions Error = -14
)

func (Error) String added in v0.17.0

func (e Error) String() string

String returns the Error constant's name, or its numeric form when the value is not a known constant.

type FilesecProperty added in v0.17.0

type FilesecProperty int32
const (
	FilesecPropertyOwner        FilesecProperty = 1
	FilesecPropertyGroup        FilesecProperty = 2
	FilesecPropertyUUID         FilesecProperty = 3
	FilesecPropertyMode         FilesecProperty = 4
	FilesecPropertyACL          FilesecProperty = 5
	FilesecPropertyGrpuuid      FilesecProperty = 6
	FilesecPropertyACLRaw       FilesecProperty = 100
	FilesecPropertyACLAllocsize FilesecProperty = 101
)

func (FilesecProperty) String added in v0.17.0

func (e FilesecProperty) String() string

String returns the FilesecProperty constant's name, or its numeric form when the value is not a known constant.

type Flag added in v0.17.0

type Flag int32
const (
	FlagFlagDeferInherit      Flag = 1
	FlagFlagNoInherit         Flag = 131072
	FlagEntryInherited        Flag = 16
	FlagEntryFileInherit      Flag = 32
	FlagEntryDirectoryInherit Flag = 64
	FlagEntryLimitInherit     Flag = 128
	FlagEntryOnlyInherit      Flag = 256
)

func (Flag) String added in v0.17.0

func (e Flag) String() string

String returns the Flag constant's name, or its numeric form when the value is not a known constant.

type Idtype added in v0.17.0

type Idtype int32
const (
	IdtypeAll  Idtype = 0
	IdtypePid  Idtype = 1
	IdtypePgid Idtype = 2
)

func (Idtype) String added in v0.17.0

func (e Idtype) String() string

String returns the Idtype constant's name, or its numeric form when the value is not a known constant.

type IpcInfoObjectType added in v0.17.0

type IpcInfoObjectType uint32
const (
	IpcInfoObjectTypeNone               IpcInfoObjectType = 0
	IpcInfoObjectTypeThreadControl      IpcInfoObjectType = 1
	IpcInfoObjectTypeTaskControl        IpcInfoObjectType = 2
	IpcInfoObjectTypeHost               IpcInfoObjectType = 3
	IpcInfoObjectTypeHostPriv           IpcInfoObjectType = 4
	IpcInfoObjectTypeProcessor          IpcInfoObjectType = 5
	IpcInfoObjectTypeProcessorSet       IpcInfoObjectType = 6
	IpcInfoObjectTypeProcessorSetName   IpcInfoObjectType = 7
	IpcInfoObjectTypeTimer              IpcInfoObjectType = 8
	IpcInfoObjectTypePortSubstOnce      IpcInfoObjectType = 9
	IpcInfoObjectTypeMig                IpcInfoObjectType = 10
	IpcInfoObjectTypeMemoryObject       IpcInfoObjectType = 11
	IpcInfoObjectTypeXmmPager           IpcInfoObjectType = 12
	IpcInfoObjectTypeXmmKernel          IpcInfoObjectType = 13
	IpcInfoObjectTypeXmmReply           IpcInfoObjectType = 14
	IpcInfoObjectTypeUndReply           IpcInfoObjectType = 15
	IpcInfoObjectTypeHostNotify         IpcInfoObjectType = 16
	IpcInfoObjectTypeHostSecurity       IpcInfoObjectType = 17
	IpcInfoObjectTypeLedger             IpcInfoObjectType = 18
	IpcInfoObjectTypeMainDevice         IpcInfoObjectType = 19
	IpcInfoObjectTypeTaskName           IpcInfoObjectType = 20
	IpcInfoObjectTypeSubsystem          IpcInfoObjectType = 21
	IpcInfoObjectTypeIODoneQueue        IpcInfoObjectType = 22
	IpcInfoObjectTypeSemaphore          IpcInfoObjectType = 23
	IpcInfoObjectTypeLockSet            IpcInfoObjectType = 24
	IpcInfoObjectTypeClock              IpcInfoObjectType = 25
	IpcInfoObjectTypeClockCtrl          IpcInfoObjectType = 26
	IpcInfoObjectTypeIokitIdent         IpcInfoObjectType = 27
	IpcInfoObjectTypeNamedEntry         IpcInfoObjectType = 28
	IpcInfoObjectTypeIokitConnect       IpcInfoObjectType = 29
	IpcInfoObjectTypeIokitObject        IpcInfoObjectType = 30
	IpcInfoObjectTypeUpl                IpcInfoObjectType = 31
	IpcInfoObjectTypeMemObjControl      IpcInfoObjectType = 32
	IpcInfoObjectTypeAuSessionport      IpcInfoObjectType = 33
	IpcInfoObjectTypeFileport           IpcInfoObjectType = 34
	IpcInfoObjectTypeLabelh             IpcInfoObjectType = 35
	IpcInfoObjectTypeTaskResume         IpcInfoObjectType = 36
	IpcInfoObjectTypeVoucher            IpcInfoObjectType = 37
	IpcInfoObjectTypeVoucherAttrControl IpcInfoObjectType = 38
	IpcInfoObjectTypeWorkInterval       IpcInfoObjectType = 39
	IpcInfoObjectTypeUxHandler          IpcInfoObjectType = 40
	IpcInfoObjectTypeUextObject         IpcInfoObjectType = 41
	IpcInfoObjectTypeArcadeReg          IpcInfoObjectType = 42
	IpcInfoObjectTypeEventlink          IpcInfoObjectType = 43
	IpcInfoObjectTypeTaskInspect        IpcInfoObjectType = 44
	IpcInfoObjectTypeTaskRead           IpcInfoObjectType = 45
	IpcInfoObjectTypeThreadInspect      IpcInfoObjectType = 46
	IpcInfoObjectTypeThreadRead         IpcInfoObjectType = 47
	IpcInfoObjectTypeSuidCred           IpcInfoObjectType = 48
	IpcInfoObjectTypeHypervisor         IpcInfoObjectType = 49
	IpcInfoObjectTypeTaskIDToken        IpcInfoObjectType = 50
	IpcInfoObjectTypeTaskFatal          IpcInfoObjectType = 51
	IpcInfoObjectTypeKcdata             IpcInfoObjectType = 52
	IpcInfoObjectTypeExclavesResource   IpcInfoObjectType = 53
	IpcInfoObjectTypeThreadResume       IpcInfoObjectType = 54
	IpcInfoObjectTypeUnknown            IpcInfoObjectType = 4294967295
)

func (IpcInfoObjectType) String added in v0.17.0

func (e IpcInfoObjectType) String() string

String returns the IpcInfoObjectType constant's name, or its numeric form when the value is not a known constant.

type LaunchDataType added in v0.17.0

type LaunchDataType int32
const (
	LaunchDataTypeDictionary LaunchDataType = 1
	LaunchDataTypeArray      LaunchDataType = 2
	LaunchDataTypeFd         LaunchDataType = 3
	LaunchDataTypeInteger    LaunchDataType = 4
	LaunchDataTypeReal       LaunchDataType = 5
	LaunchDataTypeBool       LaunchDataType = 6
	LaunchDataTypeString     LaunchDataType = 7
	LaunchDataTypeOpaque     LaunchDataType = 8
	LaunchDataTypeErrno      LaunchDataType = 9
	LaunchDataTypeMachport   LaunchDataType = 10
)

func (LaunchDataType) String added in v0.17.0

func (e LaunchDataType) String() string

String returns the LaunchDataType constant's name, or its numeric form when the value is not a known constant.

type MDLabelDomain

type MDLabelDomain int32

These constants are used to specify a domain to MDLabelCreate().

const (
	KMDLabelUserDomain  MDLabelDomain = 0
	KMDLabelLocalDomain MDLabelDomain = 1
)

func (MDLabelDomain) String

func (e MDLabelDomain) String() string

String returns the MDLabelDomain constant's name, or its numeric form when the value is not a known constant.

type MDQueryOptionFlags

type MDQueryOptionFlags int32
const (
	KMDQuerySynchronous        MDQueryOptionFlags = 1
	KMDQueryWantsUpdates       MDQueryOptionFlags = 4
	KMDQueryAllowFSTranslation MDQueryOptionFlags = 8
)

func (MDQueryOptionFlags) String

func (e MDQueryOptionFlags) String() string

String returns the MDQueryOptionFlags constant's name, or its numeric form when the value is not a known constant.

type MDQuerySortOptionFlags

type MDQuerySortOptionFlags int32
const (
	KMDQueryReverseSortOrderFlag MDQuerySortOptionFlags = 1
)

func (MDQuerySortOptionFlags) String

func (e MDQuerySortOptionFlags) String() string

String returns the MDQuerySortOptionFlags constant's name, or its numeric form when the value is not a known constant.

type MachVMRangeFlags added in v0.17.0

type MachVMRangeFlags uint64

Bitmask — values may be combined with |.

const (
	MachVMRangeFlagsNone MachVMRangeFlags = 0
)

func (MachVMRangeFlags) String added in v0.17.0

func (e MachVMRangeFlags) String() string

String returns the MachVMRangeFlags constant's name, or its numeric form when the value is not a known constant.

type MachVMRangeFlavor added in v0.17.0

type MachVMRangeFlavor uint32
const (
	MachVMRangeFlavorInvalid MachVMRangeFlavor = 0
	MachVMRangeFlavorV1      MachVMRangeFlavor = 1
)

func (MachVMRangeFlavor) String added in v0.17.0

func (e MachVMRangeFlavor) String() string

String returns the MachVMRangeFlavor constant's name, or its numeric form when the value is not a known constant.

type MachVMRangeTag added in v0.17.0

type MachVMRangeTag uint16
const (
	MachVMRangeTagDefault MachVMRangeTag = 0
	MachVMRangeTagData    MachVMRangeTag = 1
	MachVMRangeTagFixed   MachVMRangeTag = 2
)

func (MachVMRangeTag) String added in v0.17.0

func (e MachVMRangeTag) String() string

String returns the MachVMRangeTag constant's name, or its numeric form when the value is not a known constant.

type MpoFlags added in v0.17.0

type MpoFlags uint32

Bitmask — values may be combined with |.

const (
	MpoFlagsPort                        MpoFlags = 0
	MpoFlagsServicePort                 MpoFlags = 1024
	MpoFlagsConnectionPort              MpoFlags = 2048
	MpoFlagsReplyPort                   MpoFlags = 4096
	MpoFlagsWeakReplyPort               MpoFlags = 16384
	MpoFlagsNotificationPort            MpoFlags = 17408
	MpoFlagsExceptionPort               MpoFlags = 32768
	MpoFlagsConnectionPortWithPortArray MpoFlags = 65536
)

func (MpoFlags) String added in v0.17.0

func (e MpoFlags) String() string

String returns the MpoFlags constant's name, or its numeric form when the value is not a known constant.

type OSClockid added in v0.17.0

type OSClockid uint32
const (
	OSClockidTime OSClockid = 32
)

func (OSClockid) String added in v0.17.0

func (e OSClockid) String() string

String returns the OSClockid constant's name, or its numeric form when the value is not a known constant.

type Perm added in v0.17.0

type Perm int32
const (
	PermReadData           Perm = 2
	PermListDirectory      Perm = 2
	PermWriteData          Perm = 4
	PermAddFile            Perm = 4
	PermExecute            Perm = 8
	PermSearch             Perm = 8
	PermDelete             Perm = 16
	PermAppendData         Perm = 32
	PermAddSubdirectory    Perm = 32
	PermDeleteChild        Perm = 64
	PermReadAttributes     Perm = 128
	PermWriteAttributes    Perm = 256
	PermReadExtattributes  Perm = 512
	PermWriteExtattributes Perm = 1024
	PermReadSecurity       Perm = 2048
	PermWriteSecurity      Perm = 4096
	PermChangeOwner        Perm = 8192
	PermSynchronize        Perm = 1048576
)

func (Perm) String added in v0.17.0

func (e Perm) String() string

String returns the Perm constant's name, or its numeric form when the value is not a known constant.

type PersistedRight added in v0.17.0

type PersistedRight struct {
	Right
}

PersistedRight is an idiomatic wrapper over the Objective-C class LAPersistedRight.

It embeds Right, promoting that type's methods.

A right that gates access to a key and a secret.

func NewPersistedRight added in v0.17.0

func NewPersistedRight() *PersistedRight

NewPersistedRight creates a new PersistedRight.

func PersistedRightFromID added in v0.17.0

func PersistedRightFromID(id objc.ID) *PersistedRight

PersistedRightFromID adopts an existing Objective-C object as a PersistedRight (nil for 0), retaining it and registering a release finalizer.

func (*PersistedRight) Key added in v0.17.0

func (pr *PersistedRight) Key() *PrivateKey

Key returns managed private key

func (*PersistedRight) Secret added in v0.17.0

func (pr *PersistedRight) Secret() *Secret

Secret returns generic secret This is the generic secret that would have been stored along with the right

func (*PersistedRight) WithTag added in v0.17.0

func (pr *PersistedRight) WithTag(tag int) *PersistedRight

WithTag sets an integer you use to identify a right.

type Policy added in v0.17.0

type Policy int64

The set of available local authentication policies.

const (
	// User authentication with biometry.
	PolicyDeviceOwnerAuthenticationWithBiometrics Policy = 1
	// User authentication with biometry, Apple Watch, or the device passcode.
	PolicyDeviceOwnerAuthentication Policy = 2
	// Device owner will be authenticated by a companion device e.g. Watch, Mac, etc.
	PolicyDeviceOwnerAuthenticationWithCompanion Policy = 3
	// Device owner will be authenticated by biometry or a companion device e.g. Watch, Mac, etc.
	PolicyDeviceOwnerAuthenticationWithBiometricsOrCompanion Policy = 4
	// User authentication with Apple Watch.
	//
	// Deprecated: since macOS 15.0.
	PolicyDeviceOwnerAuthenticationWithWatch Policy = 3
	// User authentication with either biometry or Apple Watch.
	//
	// Deprecated: since macOS 15.0.
	PolicyDeviceOwnerAuthenticationWithBiometricsOrWatch Policy = 4
)

func (Policy) String added in v0.17.0

func (e Policy) String() string

String returns the Policy constant's name, or its numeric form when the value is not a known constant.

type PrivateKey added in v0.17.0

type PrivateKey struct {
	objref.Handle
}

PrivateKey is an idiomatic wrapper over the Objective-C class LAPrivateKey.

The private portion of an asymmetric key pair.

func NewPrivateKey added in v0.17.0

func NewPrivateKey() *PrivateKey

NewPrivateKey creates a new PrivateKey.

func PrivateKeyFromID added in v0.17.0

func PrivateKeyFromID(id objc.ID) *PrivateKey

PrivateKeyFromID adopts an existing Objective-C object as a PrivateKey (nil for 0), retaining it and registering a release finalizer.

func (*PrivateKey) CanDecryptUsingSecKeyAlgorithm added in v0.17.0

func (pk *PrivateKey) CanDecryptUsingSecKeyAlgorithm(algorithm unsafe.Pointer) bool

CanDecryptUsingSecKeyAlgorithm checks whether the algorithm you supply is valid for decrypting data with the key.

func (*PrivateKey) CanExchangeKeysUsingSecKeyAlgorithm added in v0.17.0

func (pk *PrivateKey) CanExchangeKeysUsingSecKeyAlgorithm(algorithm unsafe.Pointer) bool

CanExchangeKeysUsingSecKeyAlgorithm checks whether the algorithm you supply is valid for performing key exchanges.

func (*PrivateKey) CanSignUsingSecKeyAlgorithm added in v0.17.0

func (pk *PrivateKey) CanSignUsingSecKeyAlgorithm(algorithm unsafe.Pointer) bool

CanSignUsingSecKeyAlgorithm checks whether the algorithm you supply is valid for signing data with the key.

func (*PrivateKey) DecryptDataSecKeyAlgorithmCompletion added in v0.17.0

func (pk *PrivateKey) DecryptDataSecKeyAlgorithmCompletion(ctx context.Context, data []byte, algorithm unsafe.Pointer) (result obj.Object, err error)

DecryptDataSecKeyAlgorithmCompletion decrypts the data you supply with a given algorithm.

DecryptDataSecKeyAlgorithmCompletion blocks until the operation completes or ctx is cancelled.

func (*PrivateKey) Description added in v0.17.0

func (pk *PrivateKey) Description() string

Description returns the object's -description text.

func (*PrivateKey) ExchangeKeysWithPublicKeySecKeyAlgorithmSecKeyParametersCompletion added in v0.17.0

func (pk *PrivateKey) ExchangeKeysWithPublicKeySecKeyAlgorithmSecKeyParametersCompletion(ctx context.Context, publicKey []byte, algorithm unsafe.Pointer, parameters obj.Object) (result obj.Object, err error)

ExchangeKeysWithPublicKeySecKeyAlgorithmSecKeyParametersCompletion performs a Diffie-Hellman style key exchange operation.

ExchangeKeysWithPublicKeySecKeyAlgorithmSecKeyParametersCompletion blocks until the operation completes or ctx is cancelled.

func (*PrivateKey) IsEqual added in v0.17.0

func (pk *PrivateKey) IsEqual(other obj.Object) bool

IsEqual reports Objective-C equality (isEqual:) with another object.

func (*PrivateKey) IsKind added in v0.17.0

func (pk *PrivateKey) IsKind(className string) bool

IsKind reports whether the object is an instance of the named class or a subclass.

func (*PrivateKey) PublicKey added in v0.17.0

func (pk *PrivateKey) PublicKey() *PublicKey

PublicKey returns offers the public key counterpart of a

func (*PrivateKey) SignDataSecKeyAlgorithmCompletion added in v0.17.0

func (pk *PrivateKey) SignDataSecKeyAlgorithmCompletion(ctx context.Context, data []byte, algorithm unsafe.Pointer) (result obj.Object, err error)

SignDataSecKeyAlgorithmCompletion generates a digital signature for the data you supply.

SignDataSecKeyAlgorithmCompletion blocks until the operation completes or ctx is cancelled.

func (*PrivateKey) String added in v0.17.0

func (pk *PrivateKey) String() string

String returns the object's -description text, so a wrapper prints usefully under fmt.

type PtrauthKey added in v0.17.0

type PtrauthKey int32
const (
	Ptrauth_key_none                     PtrauthKey = -1
	Ptrauth_key_asia                     PtrauthKey = 0
	Ptrauth_key_asib                     PtrauthKey = 1
	Ptrauth_key_asda                     PtrauthKey = 2
	Ptrauth_key_asdb                     PtrauthKey = 3
	Ptrauth_key_process_independent_code PtrauthKey = 0
	Ptrauth_key_process_dependent_code   PtrauthKey = 1
	Ptrauth_key_process_independent_data PtrauthKey = 2
	Ptrauth_key_process_dependent_data   PtrauthKey = 3
	Ptrauth_key_return_address           PtrauthKey = 1
	Ptrauth_key_frame_pointer            PtrauthKey = 3
	Ptrauth_key_function_pointer         PtrauthKey = 0
	Ptrauth_key_block_function           PtrauthKey = 0
	Ptrauth_key_cxx_vtable_pointer       PtrauthKey = 2
	Ptrauth_key_method_list_pointer      PtrauthKey = 2
	Ptrauth_key_objc_isa_pointer         PtrauthKey = 2
	Ptrauth_key_objc_super_pointer       PtrauthKey = 2
	Ptrauth_key_objc_sel_pointer         PtrauthKey = 3
	Ptrauth_key_objc_class_ro_pointer    PtrauthKey = 2
	Ptrauth_key_block_descriptor_pointer PtrauthKey = 2
	Ptrauth_key_init_fini_pointer        PtrauthKey = 0
)

func (PtrauthKey) String added in v0.17.0

func (e PtrauthKey) String() string

String returns the PtrauthKey constant's name, or its numeric form when the value is not a known constant.

type PublicKey added in v0.17.0

type PublicKey struct {
	objref.Handle
}

PublicKey is an idiomatic wrapper over the Objective-C class LAPublicKey.

The public portion of an asymmetric key pair.

func NewPublicKey added in v0.17.0

func NewPublicKey() *PublicKey

NewPublicKey creates a new PublicKey.

func PublicKeyFromID added in v0.17.0

func PublicKeyFromID(id objc.ID) *PublicKey

PublicKeyFromID adopts an existing Objective-C object as a PublicKey (nil for 0), retaining it and registering a release finalizer.

func (*PublicKey) CanEncryptUsingSecKeyAlgorithm added in v0.17.0

func (pk *PublicKey) CanEncryptUsingSecKeyAlgorithm(algorithm unsafe.Pointer) bool

CanEncryptUsingSecKeyAlgorithm checks whether the algorithm you supply is valid for encrypting data with the key.

func (*PublicKey) CanVerifyUsingSecKeyAlgorithm added in v0.17.0

func (pk *PublicKey) CanVerifyUsingSecKeyAlgorithm(algorithm unsafe.Pointer) bool

CanVerifyUsingSecKeyAlgorithm checks whether the algorithm you supply is valid for verifying signatures with the key.

func (*PublicKey) Description added in v0.17.0

func (pk *PublicKey) Description() string

Description returns the object's -description text.

func (*PublicKey) EncryptDataSecKeyAlgorithmCompletion added in v0.17.0

func (pk *PublicKey) EncryptDataSecKeyAlgorithmCompletion(ctx context.Context, data []byte, algorithm unsafe.Pointer) (result obj.Object, err error)

EncryptDataSecKeyAlgorithmCompletion encrypts the data you supply with a given algorithm.

EncryptDataSecKeyAlgorithmCompletion blocks until the operation completes or ctx is cancelled.

func (*PublicKey) ExportBytesWithCompletion added in v0.17.0

func (pk *PublicKey) ExportBytesWithCompletion(ctx context.Context) (result obj.Object, err error)

ExportBytesWithCompletion exports the data that represents a public key.

ExportBytesWithCompletion blocks until the operation completes or ctx is cancelled.

func (*PublicKey) IsEqual added in v0.17.0

func (pk *PublicKey) IsEqual(other obj.Object) bool

IsEqual reports Objective-C equality (isEqual:) with another object.

func (*PublicKey) IsKind added in v0.17.0

func (pk *PublicKey) IsKind(className string) bool

IsKind reports whether the object is an instance of the named class or a subclass.

func (*PublicKey) String added in v0.17.0

func (pk *PublicKey) String() string

String returns the object's -description text, so a wrapper prints usefully under fmt.

func (*PublicKey) VerifyDataSignatureSecKeyAlgorithmCompletion added in v0.17.0

func (pk *PublicKey) VerifyDataSignatureSecKeyAlgorithmCompletion(ctx context.Context, signedData []byte, signature []byte, algorithm unsafe.Pointer) error

VerifyDataSignatureSecKeyAlgorithmCompletion verifies a digital signature for the data you supply.

VerifyDataSignatureSecKeyAlgorithmCompletion blocks until the operation completes or ctx is cancelled.

type QosClass added in v0.17.0

type QosClass uint32
const (
	QosClassUserInteractive QosClass = 33
	QosClassUserInitiated   QosClass = 25
	QosClassDefault         QosClass = 21
	QosClassUtility         QosClass = 17
	QosClassBackground      QosClass = 9
	QosClassUnspecified     QosClass = 0
)

func (QosClass) String added in v0.17.0

func (e QosClass) String() string

String returns the QosClass constant's name, or its numeric form when the value is not a known constant.

type Right struct {
	objref.Handle
}

Right is an idiomatic wrapper over the Objective-C class LARight.

Right is an abstract base — you do not construct it directly. Construct one of PersistedRight and pass it where a Right is accepted.

A grouped set of requirements that gate access to a resource or operation.

func NewRightWithRequirement added in v0.17.0

func NewRightWithRequirement(requirement *AuthenticationRequirement) *Right

NewRightWithRequirement creates a right with the authentication requirements you supply.

func RightFromID added in v0.17.0

func RightFromID(id objc.ID) *Right

RightFromID adopts an existing Objective-C object as a Right (nil for 0), retaining it and registering a release finalizer.

func (*Right) AuthorizeWithLocalizedReasonCompletion added in v0.17.0

func (r *Right) AuthorizeWithLocalizedReasonCompletion(ctx context.Context, localizedReason string) error

AuthorizeWithLocalizedReasonCompletion performs an authorization on the right.

AuthorizeWithLocalizedReasonCompletion blocks until the operation completes or ctx is cancelled.

func (*Right) CheckCanAuthorizeWithCompletion added in v0.17.0

func (r *Right) CheckCanAuthorizeWithCompletion(ctx context.Context) error

CheckCanAuthorizeWithCompletion checks whether the right has permission to perform authorization.

CheckCanAuthorizeWithCompletion blocks until the operation completes or ctx is cancelled.

func (*Right) DeauthorizeWithCompletion added in v0.17.0

func (r *Right) DeauthorizeWithCompletion(ctx context.Context) error

DeauthorizeWithCompletion invalidates a previously authorized right.

DeauthorizeWithCompletion blocks until the operation completes or ctx is cancelled.

func (*Right) Description added in v0.17.0

func (r *Right) Description() string

Description returns the object's -description text.

func (*Right) IsEqual added in v0.17.0

func (r *Right) IsEqual(other obj.Object) bool

IsEqual reports Objective-C equality (isEqual:) with another object.

func (*Right) IsKind added in v0.17.0

func (r *Right) IsKind(className string) bool

IsKind reports whether the object is an instance of the named class or a subclass.

func (*Right) State added in v0.17.0

func (r *Right) State() RightState

State provides the current authorization state of the

func (*Right) String added in v0.17.0

func (r *Right) String() string

String returns the object's -description text, so a wrapper prints usefully under fmt.

func (*Right) Tag added in v0.17.0

func (r *Right) Tag() int

Tag returns an application-supplied integer that can be used to identify right instances. The default value is

func (*Right) WithTag added in v0.17.0

func (r *Right) WithTag(tag int) *Right

WithTag sets an integer you use to identify a right.

type RightProvider added in v0.17.0

type RightProvider interface {
	objref.Object
	// contains filtered or unexported methods
}

RightProvider is accepted wherever a LARight (or one of its subclasses) is expected.

type RightState added in v0.17.0

type RightState int64
const (
	// Right has not been evaluated yet. This is the initial state of
	RightStateUnknown RightState = 0
	// Requirements are currently being evaluated. This happens after calling
	RightStateAuthorizing RightState = 1
	// Authorization was granted This can be achieved by successful authorization.
	RightStateAuthorized RightState = 2
	// Authorization was rejected. This can be caused by several reasons. For example requirements were not satisfied or user rejects to authorize.
	RightStateNotAuthorized RightState = 3
)

func (RightState) String added in v0.17.0

func (e RightState) String() string

String returns the RightState constant's name, or its numeric form when the value is not a known constant.

type RightStore added in v0.17.0

type RightStore struct {
	objref.Handle
}

RightStore is an idiomatic wrapper over the Objective-C class LARightStore.

A container for data protected by a right.

func NewRightStore added in v0.17.0

func NewRightStore() *RightStore

NewRightStore creates a new RightStore.

func RightStoreFromID added in v0.17.0

func RightStoreFromID(id objc.ID) *RightStore

RightStoreFromID adopts an existing Objective-C object as a RightStore (nil for 0), retaining it and registering a release finalizer.

func SharedStore added in v0.17.0

func SharedStore() *RightStore

SharedStore returns shared instance of

func (*RightStore) Description added in v0.17.0

func (rs *RightStore) Description() string

Description returns the object's -description text.

func (*RightStore) IsEqual added in v0.17.0

func (rs *RightStore) IsEqual(other obj.Object) bool

IsEqual reports Objective-C equality (isEqual:) with another object.

func (*RightStore) IsKind added in v0.17.0

func (rs *RightStore) IsKind(className string) bool

IsKind reports whether the object is an instance of the named class or a subclass.

func (*RightStore) RemoveAllRightsWithCompletion added in v0.17.0

func (rs *RightStore) RemoveAllRightsWithCompletion(ctx context.Context) error

RemoveAllRightsWithCompletion removes all rights associated with this client from the right store.

RemoveAllRightsWithCompletion blocks until the operation completes or ctx is cancelled.

func (*RightStore) RemoveRightCompletion added in v0.17.0

func (rs *RightStore) RemoveRightCompletion(ctx context.Context, right *PersistedRight) error

RemoveRightCompletion removes a right from the right store given an instance of that right.

RemoveRightCompletion blocks until the operation completes or ctx is cancelled.

func (*RightStore) RemoveRightForIdentifierCompletion added in v0.17.0

func (rs *RightStore) RemoveRightForIdentifierCompletion(ctx context.Context, identifier string) error

RemoveRightForIdentifierCompletion removes a right from the right store given its unique identifier.

RemoveRightForIdentifierCompletion blocks until the operation completes or ctx is cancelled.

func (*RightStore) RightForIdentifierCompletion added in v0.17.0

func (rs *RightStore) RightForIdentifierCompletion(ctx context.Context, identifier string) (result *PersistedRight, err error)

RightForIdentifierCompletion fetches a previously stored right from the shared right store.

RightForIdentifierCompletion blocks until the operation completes or ctx is cancelled.

func (*RightStore) SaveRightIdentifierCompletion added in v0.17.0

func (rs *RightStore) SaveRightIdentifierCompletion(ctx context.Context, right *Right, identifier string) (result *PersistedRight, err error)

SaveRightIdentifierCompletion saves a right to a persistent right store.

SaveRightIdentifierCompletion blocks until the operation completes or ctx is cancelled.

func (*RightStore) SaveRightIdentifierSecretCompletion added in v0.17.0

func (rs *RightStore) SaveRightIdentifierSecretCompletion(ctx context.Context, right *Right, identifier string, secret []byte) (result *PersistedRight, err error)

SaveRightIdentifierSecretCompletion saves a right to a persistent store along with secret data you supply.

SaveRightIdentifierSecretCompletion blocks until the operation completes or ctx is cancelled.

func (*RightStore) String added in v0.17.0

func (rs *RightStore) String() string

String returns the object's -description text, so a wrapper prints usefully under fmt.

type Secret added in v0.17.0

type Secret struct {
	objref.Handle
}

Secret is an idiomatic wrapper over the Objective-C class LASecret.

Data that’s protected by a persisted right.

func NewSecret added in v0.17.0

func NewSecret() *Secret

NewSecret creates a new Secret.

func SecretFromID added in v0.17.0

func SecretFromID(id objc.ID) *Secret

SecretFromID adopts an existing Objective-C object as a Secret (nil for 0), retaining it and registering a release finalizer.

func (*Secret) Description added in v0.17.0

func (s *Secret) Description() string

Description returns the object's -description text.

func (*Secret) IsEqual added in v0.17.0

func (s *Secret) IsEqual(other obj.Object) bool

IsEqual reports Objective-C equality (isEqual:) with another object.

func (*Secret) IsKind added in v0.17.0

func (s *Secret) IsKind(className string) bool

IsKind reports whether the object is an instance of the named class or a subclass.

func (*Secret) LoadDataWithCompletion added in v0.17.0

func (s *Secret) LoadDataWithCompletion(ctx context.Context) (result obj.Object, err error)

LoadDataWithCompletion retrieves data stored in a secret.

LoadDataWithCompletion blocks until the operation completes or ctx is cancelled.

func (*Secret) String added in v0.17.0

func (s *Secret) String() string

String returns the object's -description text, so a wrapper prints usefully under fmt.

type Tag added in v0.17.0

type Tag int32
const (
	TagUndefinedTag  Tag = 0
	TagExtendedAllow Tag = 1
	TagExtendedDeny  Tag = 2
)

func (Tag) String added in v0.17.0

func (e Tag) String() string

String returns the Tag constant's name, or its numeric form when the value is not a known constant.

type Type added in v0.17.0

type Type int32
const (
	TypeExtended Type = 256
	TypeAccess   Type = 0
	TypeDefault  Type = 1
	TypeAfs      Type = 2
	TypeCoda     Type = 3
	TypeNtfs     Type = 4
	TypeNwfs     Type = 5
)

func (Type) String added in v0.17.0

func (e Type) String() string

String returns the Type constant's name, or its numeric form when the value is not a known constant.

type VirtualMemoryGuardExceptionCode added in v0.17.0

type VirtualMemoryGuardExceptionCode uint32
const (
	KGUARD_EXC_DEALLOC_GAP                   VirtualMemoryGuardExceptionCode = 1
	KGUARD_EXC_RECLAIM_COPYIO_FAILURE        VirtualMemoryGuardExceptionCode = 2
	KGUARD_EXC_RECLAIM_INDEX_FAILURE         VirtualMemoryGuardExceptionCode = 4
	KGUARD_EXC_RECLAIM_DEALLOCATE_FAILURE    VirtualMemoryGuardExceptionCode = 8
	KGUARD_EXC_RECLAIM_ACCOUNTING_FAILURE    VirtualMemoryGuardExceptionCode = 9
	KGUARD_EXC_SEC_IOPL_ON_EXEC_PAGE         VirtualMemoryGuardExceptionCode = 10
	KGUARD_EXC_SEC_EXEC_ON_IOPL_PAGE         VirtualMemoryGuardExceptionCode = 11
	KGUARD_EXC_SEC_UPL_WRITE_ON_EXEC_REGION  VirtualMemoryGuardExceptionCode = 12
	KGUARD_EXC_LARGE_ALLOCATION_TELEMETRY    VirtualMemoryGuardExceptionCode = 13
	KGUARD_EXC_SEC_ACCESS_FAULT              VirtualMemoryGuardExceptionCode = 98
	KGUARD_EXC_SEC_ASYNC_ACCESS_FAULT        VirtualMemoryGuardExceptionCode = 99
	KGUARD_EXC_SEC_COPY_DENIED               VirtualMemoryGuardExceptionCode = 100
	KGUARD_EXC_SEC_SHARING_DENIED            VirtualMemoryGuardExceptionCode = 101
	KGUARD_EXC_MTE_SYNC_FAULT                VirtualMemoryGuardExceptionCode = 200
	KGUARD_EXC_MTE_ASYNC_USER_FAULT          VirtualMemoryGuardExceptionCode = 201
	KGUARD_EXC_MTE_ASYNC_KERN_FAULT          VirtualMemoryGuardExceptionCode = 202
	KGUARD_EXC_GUARD_OBJECT_ASYNC_USER_FAULT VirtualMemoryGuardExceptionCode = 203
	KGUARD_EXC_GUARD_OBJECT_ASYNC_KERN_FAULT VirtualMemoryGuardExceptionCode = 204
)

func (VirtualMemoryGuardExceptionCode) String added in v0.17.0

String returns the VirtualMemoryGuardExceptionCode constant's name, or its numeric form when the value is not a known constant.

type XpcListenerCreateFlags added in v0.17.0

type XpcListenerCreateFlags uint64

Bitmask — values may be combined with |.

const (
	XpcListenerCreateFlagsNone            XpcListenerCreateFlags = 0
	XpcListenerCreateFlagsInactive        XpcListenerCreateFlags = 1
	XpcListenerCreateFlagsForceMach       XpcListenerCreateFlags = 2
	XpcListenerCreateFlagsForceXpcservice XpcListenerCreateFlags = 4
)

func (XpcListenerCreateFlags) String added in v0.17.0

func (e XpcListenerCreateFlags) String() string

String returns the XpcListenerCreateFlags constant's name, or its numeric form when the value is not a known constant.

type XpcSessionCreateFlags added in v0.17.0

type XpcSessionCreateFlags uint64

Bitmask — values may be combined with |.

const (
	XpcSessionCreateFlagsNone           XpcSessionCreateFlags = 0
	XpcSessionCreateFlagsInactive       XpcSessionCreateFlags = 1
	XpcSessionCreateFlagsMachPrivileged XpcSessionCreateFlags = 2
)

func (XpcSessionCreateFlags) String added in v0.17.0

func (e XpcSessionCreateFlags) String() string

String returns the XpcSessionCreateFlags constant's name, or its numeric form when the value is not a known constant.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL