`Amplify.Auth` does not `Sendable` conform, will this be solved until release of Swift 6?
tscholze opened this issue ยท 7 comments
Describe the bug
Regarding using Amplify.Auth
in SwiftUI with Swift 5.10, there will be warnings over all the place because some of the Auth's classes, protocols, etc. are not actor'ized.
This will lead to compilation errors in Swift 6 but currently there will be a lot of warnings that may break CI checks for warning threshold.
If this can be solved in the client app, please let me know.
Steps To Reproduce
Steps to reproduce the behavior:
1. Create a SwiftUI project
2. Embed `2.36.0` of Amplify iOS SDK
3. Use methods like `_ = await Amplify.Auth.signOut()`
4. See warnings (Swift 5) or errors (Swift 6)
> Non-sendable type 'any AuthSignOutResult' returned by implicitly asynchronous call to nonisolated function cannot cross actor boundary
Expected behavior
Amplify.Auth works fine with SwiftUI, actors
Amplify Framework Version
2.36.0
Amplify Categories
Auth
Dependency manager
Swift PM
Swift version
5.10
CLI version
not installed - iOS only
Xcode version
Version 15.4 (15F31d)
Relevant log output
<details>
<summary>Log Messages</summary>
No logs
</details>
Is this a regression?
No
Regression additional context
No response
Platforms
iOS
OS Version
iOS 17
Device
all
Specific to simulators
no
Additional context
No response
Thanks for raising the concern. Our team will look into prioritizing this request.
This has been identified as a feature request. If this feature is important to you, we strongly encourage you to give a ๐ reaction on the request. This helps us prioritize new features most important to you. Thank you!
Reference to class property 'Auth' is not concurrency-safe because it involves shared mutable state; this is an error in Swift 6
is also shown from a line such as
let result = await Amplify.Auth.signOut()
Reference to class property 'Auth' is not concurrency-safe because it involves shared mutable state; this is an error in Swift 6
is also shown from a line such as
let result = await Amplify.Auth.signOut()
Hi @MMise ,
I tested with a sample app using Xcode Version 15.4 (15F31d)
but couldn't reproduce the warning message. Which version of Xcode are you using?
Thank you for your patience - our team will take a look and post updates here.