-
Notifications
You must be signed in to change notification settings - Fork 396
Open
Description
This override code is in CocoaDebug+Extensions.swift:
open override var canBecomeFirstResponder: Bool {
return true
}When requestReview for Apple in iOS 15+, like this:
if (@available(iOS 14.0, *)) {
UIWindowScene *activeScene;
NSSet<UIScene *> *scenes = [[UIApplication sharedApplication] connectedScenes];
for (UIScene *scene in scenes) {
if ([scene activationState] == UISceneActivationStateForegroundActive) {
activeScene = (UIWindowScene *)scene;
break;
}
}
if (activeScene != nil) {
[SKStoreReviewController requestReviewInScene:activeScene];
}
} else if (@available(iOS 10.3, *)) {
[SKStoreReviewController requestReview];
}For iOS 15+, App can perceive the user's interaction on the Review View and make its window (SkstoreReViewPresentationWindow) keyWindow, while App is not perceived before iOS 15.
So in iOS 15.0+, after Clicking on the Review View, the override code in CocoaDebug would make its Window the FIRST responder after becoming the keyWindow.
That causes the windows below never be a responder, so the screen freezes, because the size of SkstoreReViewPresentationWindow is FULL screen.
At last, I'm curious about the reason of the override code(maybe Prevent users from careless?), is this necessary?
Metadata
Metadata
Assignees
Labels
No labels
