Skip to content

AuthenticationServices iOS xcode15.0 b2

Manuel de la Pena edited this page Aug 22, 2023 · 3 revisions

#AuthenticationServices.framework https://github.com/xamarin/xamarin-macios/pull/18787

diff -ruN /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASCredentialProviderViewController.h /Applications/Xcode_15.0.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASCredentialProviderViewController.h
--- /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASCredentialProviderViewController.h	2023-06-01 04:30:53
+++ /Applications/Xcode_15.0.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASCredentialProviderViewController.h	2023-06-15 02:50:00
@@ -48,21 +48,35 @@
 API_DEPRECATED_WITH_REPLACEMENT("provideCredentialWithoutUserInteractionForRequest:", ios(12.0, 17.0), macos(11.0, 14.0))
     ;
 
-/*! @abstract Attempt to provide the user-requested credential without any user interaction.
- @param credentialRequest the credential request for which a credential should be provided.
- @discussion After the user selects a credential identity, the system will create a credential request, the contents of which will depend on whether
- the credential to use is a password or passkey. The request type will match the type of credential that was requested. Refer to ASPasswordCredentialRequest
- and ASPasskeyCredentialRequest for details.
- The system may ask your extension to provide the credential without showing any user interface if possible to enhance the user experience.
- If your extension can accomplish this (for example, the user’s passwords database is still unlocked from a recent interaction),
- call -[ASCredentialProviderExtensionContext completeRequestWithSelectedCredential:completionHandler:] for password credentials or
- -[ASCredentialProviderExtensionContext completeAssertionRequestWithSelectedPasskeyCredential:completionHandler:] for passkey credentials.
- If an error occurs, call -[ASCredentialProviderExtensionContext cancelRequestWithError:] and pass an error with domain
- ASExtensionErrorDomain and an appropriate error code from ASExtensionErrorCode.  For example, if your extension requires user interaction
- because the passwords database needs to be unlocked, pass an error with code ASExtensionErrorCodeUserInteractionRequired.
- @note When this method is called, your extension's view controller is not present on the screen. Do not attempt or expect to show any user
- interface in this method.
- */
+/// Attempt to provide the user-requested credential without any user interaction.
+///
+/// After the user selects a credential identity, the system will create a credential request, the contents of
+/// which will depend on whether the credential to use is a password or passkey. The request type will match
+/// the type of credential that was requested. Refer to `ASPasswordCredentialRequest` and
+/// `ASPasskeyCredentialRequest` for details.
+///
+/// The system may ask your extension to provide the credential without showing any user interface if possible
+/// to enhance the user experience. If your extension can accomplish this (for example, the user’s passwords
+/// database is still unlocked from a recent interaction), call `-[ASCredentialProviderExtensionContext completeRequestWithSelectedCredential:completionHandler:]`
+/// for password credentials or `-[ASCredentialProviderExtensionContext completeAssertionRequestWithSelectedPasskeyCredential:completionHandler:]` for passkey credentials. If an error occurs, call `-[ASCredentialProviderExtensionContext cancelRequestWithError:]`
+/// and pass an error with domain `ASExtensionErrorDomain` and an appropriate error code from
+/// `ASExtensionErrorCode`. For example, if your extension requires user interaction because the
+/// passwords database needs to be unlocked, pass an error with code `ASExtensionErrorCodeUserInteractionRequired`.
+///
+/// In order for your extension to be presented in the list of options for passkey assertion requests, your
+/// extension needs to specify a true value for the Information Property List key `ProvidesPasskeys`
+/// under the `ASCredentialProviderExtensionCapabilities` dictionary.
+///
+///     Info.plist
+///     ├─ NSExtension
+///         ├─ NSExtensionAttributes
+///             ├─ ASCredentialProviderExtensionCapabilities
+///                 ├─ ProvidesPasskeys => true
+///
+/// - Note: When this method is called, your extension's view controller is not present on the screen. Do not
+///   attempt or expect to show any user interface in this method.
+///
+/// - Parameter credentialRequest: The credential request for which a credential should be provided.
 - (void)provideCredentialWithoutUserInteractionForRequest:(id <ASCredentialRequest>)credentialRequest API_AVAILABLE(ios(17.0), macos(14.0)) API_UNAVAILABLE(watchos, tvos);
 
 /*! @abstract Prepare the view controller to show user interface for providing the user-requested credential.
@@ -104,17 +118,27 @@
  */
 - (void)prepareInterfaceForExtensionConfiguration;
 
-/*! @abstract Prepare UI to register a passkey for the specified relying party.
- @param registrationRequest the passkey registration request parameters needed to register a new passkey.
- @discussion The system calls this method when the user selects your extension to use for creating a passkey.
- In order for your extension to be presented in the list of options for creating passkeys, your app and extension need
- to specify a true value for the Information Property List key ASCredentialProviderPasskeySupport.
- This method will present your extension's UI for user authentication before creating the passkey.
- Once the passkey is created, your extension should call -[ASCredentialProviderExtensionContext completeRegistrationRequestWithSelectedPasskeyCredential:completionHandler]
- with the newly created ASPasskeyCredential object.
- If an error occurs, call -[ASCredentialProviderExtensionContext cancelRequestWithError:] and pass an error with domain
- ASExtensionErrorDomain and an appropriate error code from ASExtensionErrorCode.
- */
+/// Prepare UI to register a passkey for the specified relying party.
+///
+/// The system calls this method when the user selects your extension to use for creating a passkey. In order
+/// for your extension to be presented in the list of options for passkey registration requests, your extension
+/// needs to specify a true value for the Information Property List key `ProvidesPasskeys` under the
+/// `ASCredentialProviderExtensionCapabilities` dictionary.
+///
+///     Info.plist
+///     ├─ NSExtension
+///         ├─ NSExtensionAttributes
+///             ├─ ASCredentialProviderExtensionCapabilities
+///                 ├─ ProvidesPasskeys => true
+///
+/// This method will present your extension's UI for user authentication before creating the passkey. Once the
+/// passkey is created, your extension should call `-[ASCredentialProviderExtensionContext completeRegistrationRequestWithSelectedPasskeyCredential:completionHandler:]`
+/// with the newly created ASPasskeyCredential object. If an error occurs, call
+/// `-[ASCredentialProviderExtensionContext cancelRequestWithError:]` and pass an
+/// error with domain `ASExtensionErrorDomain` and an appropriate error code from `ASExtensionErrorCode`.
+///
+/// - Parameter registrationRequest: The passkey registration request parameters needed to
+///   register a new passkey.
 - (void)prepareInterfaceForPasskeyRegistration:(id <ASCredentialRequest>)registrationRequest API_AVAILABLE(ios(17.0), macos(14.0)) API_UNAVAILABLE(watchos, tvos);
 
 @end
diff -ruN /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASSettingsHelper.h /Applications/Xcode_15.0.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASSettingsHelper.h
--- /Applications/Xcode_15.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASSettingsHelper.h	2023-06-01 04:47:41
+++ /Applications/Xcode_15.0.0-beta2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/AuthenticationServices.framework/Headers/ASSettingsHelper.h	2023-06-15 01:27:02
@@ -8,10 +8,10 @@
 @interface ASSettingsHelper : NSObject
 
 /// Calling this method will open the Settings app and navigate directly to the AutoFill provider settings.
-+ (void)openCredentialProviderAppSettingsWithCompletionHandler:(nullable void (^)(NSError * _Nullable error))completionHandler NS_REFINED_FOR_SWIFT NS_SWIFT_ASYNC_NAME(openCredentialProviderAppSettings());
++ (void)openCredentialProviderAppSettingsWithCompletionHandler:(nullable void (^)(NSError * _Nullable error))completionHandler NS_SWIFT_ASYNC_NAME(openCredentialProviderAppSettings());
 
 /// Calling this method will open the Settings app and navigate directly to the Verification Code provider settings.
-+ (void)openVerificationCodeAppSettingsWithCompletionHandler:(nullable void (^)(NSError * _Nullable error))completionHandler NS_REFINED_FOR_SWIFT NS_SWIFT_ASYNC_NAME(openVerificationCodeAppSettings());
++ (void)openVerificationCodeAppSettingsWithCompletionHandler:(nullable void (^)(NSError * _Nullable error))completionHandler NS_SWIFT_ASYNC_NAME(openVerificationCodeAppSettings());
 
 - (instancetype)init NS_UNAVAILABLE;
 + (instancetype)new NS_UNAVAILABLE;
Clone this wiki locally