Kill and restart the app. Check console: should see output below, indicating that both completion blocks are invoked:
0: Restoring
1: Restoring
0: Done: Optional(<GIDGoogleUser: 0x600002124820>), nil
1: Done: Optional(<GIDGoogleUser: 0x600002124820>), nil
Kill the app and wait for about an hour. I was also able to reproduce immediately by changing kMinimalTimeToExpire and kMinimumRestoredAccessTokenTimeToExpire to both be 60.0*59.9.
Restart the app and check console output.
Expected behavior
console output should be the following, indicating that both completion blocks were invoked:
0: Restoring
1: Restoring
0: Done: Optional(<GIDGoogleUser: 0x600002124820>), nil
1: Done: Optional(<GIDGoogleUser: 0x600002124820>), nil
Actual behavior
console output is the following, indicating the first completion block was not invoked:
0: Restoring
1: Restoring
1: Done: Optional(<GIDGoogleUser: 0x600002124820>), nil
Describe the bug GIDSignIn.sharedInstance.restorePreviousSignIn() does not always invoke the completion handler.
I suspect these two closed issues may have the same root cause:
To Reproduce There appears to be two requirements to reproduce this:
Specific repro steps:
Expected behavior console output should be the following, indicating that both completion blocks were invoked: 0: Restoring 1: Restoring 0: Done: Optional(<GIDGoogleUser: 0x600002124820>), nil 1: Done: Optional(<GIDGoogleUser: 0x600002124820>), nil
Actual behavior console output is the following, indicating the first completion block was not invoked: 0: Restoring 1: Restoring 1: Done: Optional(<GIDGoogleUser: 0x600002124820>), nil