iOS 15 DualSense is opening App Library on PS button long press

I'm currently beta testing my app on TestFlight and some users reported a problem with the DualSense controller. It seems on iOS 15 a long press on the PS Button of the controller is opening the App Library and I don't receive a callback via the valueChangedHandler function. The App library which will be opened looks like this

This is how I handle all controller inputs:

func handleController(controller: GCController) {
    controller.extendedGamepad?.valueChangedHandler = { [weak self] (gamepad: GCExtendedGamepad, element: GCControllerElement) in
        guard let self = self else {
            return
        }
        // no feedback received when performing a long press on the PS button
}

Is there any way to suppress this behavior? Sony's PS Remote Play app somehow manages to suppress it, but I don't know how, nor can I find anything in Apple's official API documentation.

Answered by Frameworks Engineer in 723593022

Hi grill2010

Your application can disable the home button long press gesture by setting the preferredSystemGestureState of the home button element to GCSystemGestureStateDisabled.

controller.physicalInputProfile.buttons[GCInputButtonHome].preferredSystemGestureState = GCSystemGestureStateDisabled;

Edit: Seems this problem only occurs on iPads, on iPhones this problem doesn't exist. Is there some API or anything on iPads to suppress this behaviour? I assume the most majority of users don't want to open the App Library in the middle of the game.

Accepted Answer

Hi grill2010

Your application can disable the home button long press gesture by setting the preferredSystemGestureState of the home button element to GCSystemGestureStateDisabled.

controller.physicalInputProfile.buttons[GCInputButtonHome].preferredSystemGestureState = GCSystemGestureStateDisabled;
iOS 15 DualSense is opening App Library on PS button long press
 
 
Q