Skip to content

LocalAuthentication macOS xcode26.0 b1

Alex Soto edited this page Jun 9, 2025 · 1 revision

#LocalAuthentication.framework

diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/LocalAuthentication.framework/Headers/LACompanionType.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/LocalAuthentication.framework/Headers/LACompanionType.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/LocalAuthentication.framework/Headers/LACompanionType.h	2025-04-19 02:48:46
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/LocalAuthentication.framework/Headers/LACompanionType.h	2025-05-31 00:20:05
@@ -14,6 +14,9 @@
     
     /// Paired Mac
     LACompanionTypeMac API_AVAILABLE(ios(18.0)) API_UNAVAILABLE(macos, watchos, tvos, visionos) = kLACompanionTypeMac,
+    
+    /// Paired Vision Pro
+    LACompanionTypeVision API_AVAILABLE(ios(26.0)) API_UNAVAILABLE(macos, watchos, tvos, visionos) = kLACompanionTypeVision,
 } API_AVAILABLE(macos(15.0), ios(18.0), watchos(11.0), tvos(18.0), visionos(2.0));
 
 NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/LocalAuthentication.framework/Headers/LAContext.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/LocalAuthentication.framework/Headers/LAContext.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/LocalAuthentication.framework/Headers/LAContext.h	2025-04-19 02:48:45
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/LocalAuthentication.framework/Headers/LAContext.h	2025-05-31 00:20:05
@@ -43,15 +43,6 @@
     ///             not end the authentication. Instead, it switches the authentication mechanism to user password.
     LAPolicyDeviceOwnerAuthentication API_AVAILABLE(ios(9.0), macos(10.11), watchos(3.0)) API_UNAVAILABLE(tvos) = kLAPolicyDeviceOwnerAuthentication,
     
-    /// Device owner will be authenticated by Watch.
-    ///
-    /// @discussion 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.
-    LAPolicyDeviceOwnerAuthenticationWithWatch API_DEPRECATED_WITH_REPLACEMENT("LAPolicyDeviceOwnerAuthenticationWithCompanion", macos(10.15, 15.0), macCatalyst(13.0, 18.0)) API_UNAVAILABLE(ios, watchos, tvos) = kLAPolicyDeviceOwnerAuthenticationWithWatch,
-    
     /// Device owner will be authenticated by a companion device e.g. Watch, Mac, etc.
     ///
     /// @discussion Companion authentication is required. If no nearby paired companion device can be found,
@@ -60,30 +51,42 @@
     ///             Users should follow instructions on the companion device to authenticate.
     LAPolicyDeviceOwnerAuthenticationWithCompanion API_AVAILABLE(macos(15.0), macCatalyst(18.0), ios(18.0)) API_UNAVAILABLE(watchos, tvos, visionos) = kLAPolicyDeviceOwnerAuthenticationWithCompanion,
 
-    /// Device owner will be authenticated by biometry or Watch.
-    ///
-    /// @discussion 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.
-    LAPolicyDeviceOwnerAuthenticationWithBiometricsOrWatch API_DEPRECATED_WITH_REPLACEMENT("LAPolicyDeviceOwnerAuthenticationWithBiometricsOrCompanion", macos(10.15, 15.0), macCatalyst(13.0, 18.0)) API_UNAVAILABLE(ios, watchos, tvos) = kLAPolicyDeviceOwnerAuthenticationWithBiometricsOrWatch,
-
     /// Device owner will be authenticated by biometry or a companion device e.g. Watch, Mac, etc.
     ///
     /// @discussion 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.
+    ///             Depending on the companion type and biometry and companion availability,
+    ///             either a user is asked to authenticate with biometry and on a companion device in parallel
+    ///             or the companion authentication takes precedence
+    ///             and a user is asked to authenticate exclusively on the companion device if available.
+    ///             Users should follow instructions on the companion device to authenticate.
     LAPolicyDeviceOwnerAuthenticationWithBiometricsOrCompanion API_AVAILABLE(macos(15.0), macCatalyst(18.0), ios(18.0)) API_UNAVAILABLE(watchos, tvos, visionos) = kLAPolicyDeviceOwnerAuthenticationWithBiometricsOrCompanion,
 
     /// 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.
     LAPolicyDeviceOwnerAuthenticationWithWristDetection API_AVAILABLE(watchos(9.0)) API_UNAVAILABLE(macos, ios, tvos) = kLAPolicyDeviceOwnerAuthenticationWithWristDetection,
+    
+    /// Device owner will be authenticated by Watch.
+    ///
+    /// @discussion 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.
+    LAPolicyDeviceOwnerAuthenticationWithWatch API_DEPRECATED_WITH_REPLACEMENT("LAPolicyDeviceOwnerAuthenticationWithCompanion", macos(10.15, 15.0), macCatalyst(13.0, 18.0)) API_UNAVAILABLE(ios, watchos, tvos) = LAPolicyDeviceOwnerAuthenticationWithCompanion,
+
+    /// Device owner will be authenticated by biometry or Watch.
+    ///
+    /// @discussion 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.
+    LAPolicyDeviceOwnerAuthenticationWithBiometricsOrWatch API_DEPRECATED_WITH_REPLACEMENT("LAPolicyDeviceOwnerAuthenticationWithBiometricsOrCompanion", macos(10.15, 15.0), macCatalyst(13.0, 18.0)) API_UNAVAILABLE(ios, watchos, tvos) = LAPolicyDeviceOwnerAuthenticationWithBiometricsOrCompanion,
 } API_AVAILABLE(ios(8.0), macos(10.10), watchos(3.0)) API_UNAVAILABLE(tvos);
 
 /// The maximum value for LAContext touchIDAuthenticationAllowableReuseDuration property.
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/LocalAuthentication.framework/Headers/LADomainState.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/LocalAuthentication.framework/Headers/LADomainState.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/LocalAuthentication.framework/Headers/LADomainState.h	2025-04-19 03:10:40
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/LocalAuthentication.framework/Headers/LADomainState.h	2025-05-31 00:20:05
@@ -6,7 +6,6 @@
 #import <LocalAuthentication/LABiometryType.h>
 #import <LocalAuthentication/LACompanionType.h>
 
-
 NS_ASSUME_NONNULL_BEGIN
 
 API_AVAILABLE(macos(15.0), ios(18.0), visionos(2.0)) API_UNAVAILABLE(watchos, tvos)
@@ -92,4 +91,3 @@
 @end
 
 NS_ASSUME_NONNULL_END
-
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/LocalAuthentication.framework/Headers/LAPublicDefines.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/LocalAuthentication.framework/Headers/LAPublicDefines.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/LocalAuthentication.framework/Headers/LAPublicDefines.h	2025-04-19 02:48:45
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/LocalAuthentication.framework/Headers/LAPublicDefines.h	2025-05-31 00:20:04
@@ -60,7 +60,9 @@
 #define kLAErrorDomain        "com.apple.LocalAuthentication"
 
 // Companion types
+#define kLACompanionTypeNone            0
 #define kLACompanionTypeWatch           1 << 0
 #define kLACompanionTypeMac             1 << 1
+#define kLACompanionTypeVision          1 << 2
 
 #endif
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/LocalAuthentication.framework/Headers/LAPublicKey.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/LocalAuthentication.framework/Headers/LAPublicKey.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/LocalAuthentication.framework/Headers/LAPublicKey.h	2025-04-19 02:48:46
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/LocalAuthentication.framework/Headers/LAPublicKey.h	2025-05-31 00:20:05
@@ -18,7 +18,7 @@
 /// @brief Encrypts the given data
 /// @param data The data to encrypt.
 /// @param algorithm A @c SecKeyAlgorithm suitable for encrypting with this key –e.g: @c kSecKeyAlgorithmECIESEncryptionStandardVariableIVX963SHA256AESGCM .
-/// @param handler Completion handler with the ciphertext or an error on failure.
+/// @param handler Completion handler with the cipher text or an error on failure.
 - (void)encryptData:(NSData *)data secKeyAlgorithm:(SecKeyAlgorithm)algorithm completion:(void (NS_SWIFT_SENDABLE ^)(NSData *_Nullable, NSError *_Nullable))handler NS_SWIFT_NAME(encrypt(_:algorithm:completion:));
 
 /// @brief Checks if the the provided algorithm can be used for encryption with the key.
@@ -30,7 +30,7 @@
 /// @param signedData The signed data.
 /// @param signature The signature of the given data.
 /// @param algorithm One of @c SecKeyAlgorithm suitable for verifying signatures with this key –e.g: @c kSecKeyAlgorithmECDSASignatureMessageX962SHA256
-/// @param handler Completion hadnler with the signature of given data or an error on failure.
+/// @param handler Completion handler with the signature of given data or an error on failure.
 - (void)verifyData:(NSData *)signedData signature:(NSData *)signature secKeyAlgorithm:(SecKeyAlgorithm)algorithm completion:(void (NS_SWIFT_SENDABLE ^)(NSError *_Nullable))handler
 #pragma push_macro("verify")
 #undef verify
Clone this wiki locally