Closed KirillZholnerovich closed 2 months ago
Hi @KirillZholnerovich, this is a bug in vanilla SwiftUI and there’s nothing we can do to fix it in the library.
I am going to convert this to a discussion since it’s not an issue with the library. Feel free to continue the conversation over there.
Description
It works well on iOS 17, but does not work correctly on iOS16
I've created an example project to reproduce this bug
Screen A ` @Reducer public struct ScreenAFeature { @ObservableState public struct State: Equatable { @Presents public var screenB: ScreenBFeature.State? = nil public init() {} }
}
public struct ScreenAView: View { @Perception.Bindable var store: StoreOf
} = StackState()
Screen B
@Reducer public struct ScreenBFeature { @ObservableState public struct State: Equatable { public var path: StackState}
public struct ScreenBView: View { @Perception.Bindable public var store: StoreOf
} `
Screen C ` @Reducer public struct ScreenCFeature { @ObservableState public struct State: Equatable { public init() {} }
}
public struct ScreenCView: View { public let store: StoreOf
} `
Behaviour on iOS 16
https://github.com/pointfreeco/swift-composable-architecture/assets/14135206/52e151c1-515c-422e-a4dc-7ad171f32c75
Behaviour on iOS 17
https://github.com/pointfreeco/swift-composable-architecture/assets/14135206/30ec6a8d-44c4-4f3a-85eb-c48651cc58c3
Checklist
main
branch of this package.Expected behavior
Appearing works with transition.
Actual behavior
Appearing works without transition.
Steps to reproduce
The Composable Architecture version information
1.11.2
Destination operating system
iOS 16
Xcode version information
15.4
Swift Compiler version information