--- title: "iOS App SDK release notes for v9.4" slug: "s3suite94-reference-releasenotes-ios-release-notes-for-v94" updated: 2026-10-27T18:41:44Z published: 2026-10-27T18:41:44Z canonical: "docs.onespan.com/s3suite94-reference-releasenotes-ios-release-notes-for-v94" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.onespan.com/llms.txt > Use this file to discover all available pages before exploring further. # iOS App SDK release notes for v9.4 Nok Nok, Inc. App SDK for iOS v9.4 --- ## Hot fix 1 April 7, 2026 App SDK for iOS version 9.4.0.169 ### Issues fixed in this version - INIT_ADAPTIVE is called twice during transactions. Previous Behavior: If the username is not present, INIT_ADAPTIVE is called twice during a transaction. New Behavior: If the username is not present, INIT_ADAPTIVE is called once during a transaction. - Authentication by PIN fails in some cases. Previous Behavior: A successfully registered PIN authenticator fails to work in some cases. New Behavior: A successfully registered PIN authenticator always works as expected. --- ## Main release January 14, 2026 iOS App SDK: 9.4.0.165 ## New in this Version - The App SDK includes non-blocking APIs to support [modern threading](/dpoa/docs/s3suite94-using-the-app-sdk#error-handling). These improve your application's responsiveness and enable a smoother experience for your end users. - TheTutorial app fetches the required version of the configuration information when [scanning the configuration QR code](/dpoa/docs/s3suite94-configuring-tutorial-web-app#configuring-ios-or-android-tutorial-app). - The WebAuthn [conditional UI](/dpoa/docs/s3suite94-implementing-authentication-in-your-app#webauthn-credential-selection-ui) works with Quick Authentication. - The logs generated by Nok Nok's [App IQ](/dpoa/docs/s3suite94-using-the-app-sdk#app-iq) error reporting service contain the username field in the data record. - The App SDK can [silently register a new passkey](/dpoa/docs/s3suite94-implementing-authentication-in-your-app#automatically-create-a-passkey). Just check a box in the Server FIDO policy to allow end users to sign in and create a passkey in one step. - A new biometric UAF [authenticator](/dpoa/docs/s3suite94-using-the-app-sdk#supported-authenticators) supports silent registration. - The sign-up flow supports the [account creation](/dpoa/docs/s3suite94-implementing-authentication-in-your-app#creating-an-account-and-a-passkey) API in iOS 26. - The App SDK is updated to support Public Key Credential Hints set by a [FIDO policy on the Server](/dpoa/docs/s3suite94-configure-fido2-authenticators#specify-desired-fido2-attributes). These settings control the presentation of the user interface for specific authenticators (security key, passkey on this device, and passkey on a different device), enabling more granular UI selection than was possible with Authenticator Attachment. - The App SDK automatically [deletes deregistered credentials](/dpoa/docs/s3suite94-implementing-authentication-in-your-app#webauthn-credential-selection-ui). The opportunistic deletion of all WebAuthn credentials is implemented in the current release. When a FIDO2 platform authenticator is deregistered, the App SDK tries to delete the corresponding credential from the end user's device. - The App SDK supports Liquid Glass UI. - The App SDK is compatible with Swift 6. ## Issue Fixed in this Version - Authentication on Tutorial watch app times out when using Quick Authentication. Previous Behavior: Authentication on Tutorial watch app times out when using Quick Authentication. New Behavior: Authentication completes on Tutorial watch app when using Quick Authentication. ## Known Issue Passkey registration is not working if your server uses an IPv6-only configuration. Apple drops your request if the domain record resolves to an IPv6 address only. There is a workaround that works only for enterprise users. If you receive the error below when attempting to register a passkey, consider the suggested resolution. Error: ```plaintext 2024-03-28 13:37:27.817357-0700 tutorialappplus[523:33297] [Authorization] ASAuthorizationController credential request failed with error: Error Domain=com.apple.AuthenticationServices.AuthorizationError Code=1004 "(null)"   2024-03-28 13:37:27.819386-0700 tutorialappplus[523:33297] [] ERROR | appsdk.NativeFido2  NativeFido2.mm  -[WebCredentialsManager authorizationController:didCompleteWithError:]:1200 - The operation couldn’t be completed. Application with identifier SG9R4B6BLT.com.noknok.ios.tutorialappplus is not associated with domain example.com ``` Resolution: Open your project with Xcode and navigate to the entitlements screen. Open Entitlements File > Associated Domains and add the following String Items: ```plaintext webcredentials:example.com?mode=managed applinks:example.com?mode=managed ``` ## Prerequisites - Mac with OS X 26 and later - Xcode 26.0 and later - Swift 5.0 and later - C++ 98 or later - An Apple device with iOS 14 and later ## Supported Devices - iPhone devices that support iOS 14 and later. - iPad devices that support iOS 14 and later. - A watchOS device, series 2 or newer, running watchOS 4.2 and later. Also see [Upgrading an iOS App.](/dpoa/docs/upgrading-from-93-to-94)