Compile time issue for SimpleKeychain

Undefined Symbols Error When Using Auth0 as an Internal Package Dependency

Hi Auth0 Support Team,

We’ve integrated Auth0 into our project as an internal package dependency. The package itself builds successfully without any issues. However, when we include it as part of our main application build, we encounter the following linker error:

Undefined symbols for architecture arm64:
  "SimpleKeychain.SimpleKeychain.init(service: Swift.String, accessGroup: Swift.String?, accessibility: SimpleKeychain.Accessibility, accessControlFlags: __C.SecAccessControlCreateFlags?, context: __C.LAContext?, synchronizable: Swift.Bool, attributes: [Swift.String : Any]) -> SimpleKeychain.SimpleKeychain", referenced from:
      default argument 2 of Auth0.CredentialsManager.init(authentication: Auth0.Authentication, storeKey: Swift.String, storage: Auth0.CredentialsStorage) -> Auth0.CredentialsManager in Core.o
...
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1

The error suggests that the SimpleKeychain symbols are not being linked properly when building for the arm64 architecture. We have verified that the dependency is correctly configured and that all build settings align with the target architecture.

The package that has Auth0 as dependency builds fine :+1: .
In case we remove any implementation that uses Credentials or CredentialsManager, everything works fine in both the package and the main application that includes our Package (with Auth0 as a dependency).

Could you provide any guidance on how to resolve this issue or any next steps we should take?

  • we use the latest Auth0.swift
  • minimum Deployment Target matches the minimum requirement (our package supports iOS and MacOS only)
  • our Project’s minimum Deployment Target is set to iOS15

On an additional note: we do support arm64 as standard arch.