AskCenter.shared.responses(for:) not always receiving responses on first attempt

Hi all, I've been attempting to implement the Texas age range restrictions for an app I work on. I've banged my head against it for the last week and have a flow that is 99% working.

I have all of the cases working exceptt when a significant change is approved.

The issue I'm running into, is that

let responsesSequence = AskCenter.shared.responses(for: SignificantAppUpdateTopic.self) is not receiving a response the first time it's called. It's only after the second time it's called that a response is registered and then I allow a user to access my app.

When I set significant app change declined, then responses(for: ) returns on the first call to it.

I can't for the life of my figure out why one works and the other doesn't.

Has anyone else encountered this or have suggestions for me? I'm happy to post more code here in order to come to a resolution on this issue.

I've figured out the double tap issue, it was caused by the fact that I was creating multiple instances of .responses(for:). I've solved this by having only one listener for this per app session.

But how do I receive more than one response from the .responses(for:) api? My use case is as follows:

Set user to Texas, child under 13, significant change approved. Open the app and get a response from .responses(for:) that the user is approved. Then I change the user to Texas, child 16-17, significant change declined. I do not see a new response come through, I close and re-open the app and still I don't see a new response come through.

Is the call to .responses(for:) supposed to continually return responses when the users permission is changed? Or are we only supposed to listen once to the users permission and then hold onto that value forever?

AskCenter.shared.responses(for:) not always receiving responses on first attempt
 
 
Q