Search code examples
iosswiftswiftuistorekit

StoreKit review request weird tap gesture behavior on alert


I am trying to implement the review request on an app, I first ask if the user enjoy the app and if he says yes I launch the review request, everything goes well until I try to communicate with the alert, only a (very) long (and quite strong) press on the dismiss button will make it triggered, and I can't trigger the stars button (I guess because I am in development maybe?)

I can't try on a simulator as the project I am working on doesn't launch for several reasons, I have this issue using an iPhone 11, iOS 16.0.2, Xcode 14.0.1

I am using Cocoapods

Here is the code I use to launch the request review (I can't create a snippet for this as I am working on a project that has many implementation)


// Launch review
if let scene = UIApplication.shared.connectedScenes
    .first(where: { $0.activationState == .foregroundActive }) as? UIWindowScene {
    SKStoreReviewController.requestReview(in: scene)
}


Solution

  • I have found why I had this issue, in the project I am working on, the previous developer added a DragGesture on the main view container like that :

    The gesture

    let drag = DragGesture().onEnded {
          if $0.translation.width < -100 && navigationCoordinator.sideMenuIsOpen {
            withAnimation {
              navigationCoordinator.sideMenuIsOpen = false
            }
          }
        }
    

    The implementation

    View
    .gesture(drag)
    

    So this was taking the priority on all, when I saw that I knew it was the issue, I had 2 solutions, delete it or replacing it with :

    View
    .simultaneousGesture(drag)
    

    As this feature part was not used anymore I decided to delete it