When loading screen, I scan for tips:
private lazy var scanAreaTipTask = Task { @MainActor in
for await shouldDisplay in scanAreaTip.statusUpdates {
if shouldDisplay == .available {
onSetBeacon.send(.scanArea(scanAreaTip, .show))
} else {
onSetBeacon.send(.scanArea(scanAreaTip, .hide))
scanAreaTipFinished = true
}
}
}
Task is called in ViewDidAppear of the UIViewController. First time I load this view controller, the scanAreaTip.statusUpdates always comes back as pending. If I quit this view controller and open it again, the scanAreaTip.statusUpdates will come back as available.
Why does it always come back as pending on the first opening where it should come back as available?
This is the tip that I am using. As shown, there aren't any rules or options used. Just a plain tip that should show straight away.
public struct ScanAreaTip: Tip {
public init() {}
public var title: Text {
Text("Scan area around you")
.brandFont(style: .regular(.headline))
.foregroundStyle(Color.accentColor)
}
}