Hi,
I am planning to use SKReceiptRefreshRequest inside a BGAppRefreshTaskRequest in iOS13, to check whether a subscription has auto-renewed or not. I haven't seen it documented anywhere whether this is supported or not. I've tried it using the sandbox, and sometimes it works, sometimes it asks me to login to the Sandbox account again while the app is running in the background, and sometimes it doesn't work at all.
I am calling the _simulateLaunchForTaskWithIdentifier call to simulate a background App Refresh. I do this while the app is in the background, and it sometimes gets stuck. It works better if the app is in the foreground and I call the same private API to simulate the App Refresh.
I'm just wondering how reliable this would be in production. Would it keep bothering the user to login to their account? Is it expected that the StoreKit APIs be called from the background APIs (even to refresh a reciept), or is there some limitation that I'm not aware of? Just wanted to do the due-diligence before sending an update to production users.