I have two release trains going in TestFlight:
The App Store version v1.0(0) with bug fixes v1.0(1), v1.0(2), etc.
The next feature version with additional functionalities of the app v1.1(0), v1.1(1), v1.1(2), etc.
Is there any way to have v1.0(x) be for internal testing, and have v1.1(x) be for external testing?
I really need to start external testing the next release of the app in TestFlight, while also bug fixing the current version of the app in TestFlight.
Thanks!
Post
Replies
Boosts
Views
Activity
Hardware: iPhone 12/iOS 15.1.1
I am having problems getting urlSession(_:task:didCompleteWithError:) to fire when session configured for background.
I set up my background session and uploadTask as such:
let config = URLSessionConfiguration.background(withIdentifier: "my.unique.session.identifier")
config.isDiscretionary = false
config.sessionSendsLaunchEvents = true
config.allowsCellularAccess = true
config.httpMaximumConnectionsPerHost = 1
config.timeoutIntervalForRequest = 30
config.timeoutIntervalForResource = 60
let session = URLSession(configuration: config, delegate: yourDelegate, delegateQueue: nil)
let task = session.uploadTask(with: request, from: data)
task.resume()
First, I confirmed that I can upload using the above code.
Then to simulate a timeout, I set a breakpoint in Charles Proxy on the response. When triggered, I just wait. urlSession(_:task:didCompleteWithError:) is never called, no matter how long I wait. I can "see" the background session periodically retrying the upload, because I having logging in urlSession(_:task:didSendBodyData:). Every time didSendBodyData is called, it triggers the breapoint in Charles Proxy. And I wait. didCompleteWithError never gets called.
One more observation: if I change the session config from 'background' to 'default', didCompleteWithError is triggered.
Thanks!