ITMS-90338: Non-public API usage : setSupportedInterfaceOrientations

Hello developers !

My team and I are currently trying to migrate to the new Xcode 16 version.

We encounter a blocker problem with the new Xcode when submitting a new build on TestFlight.

The problem :

ITMS-90338: Non-public API usage - The app references non-public selectors in AccorHotelsApp: setSupportedInterfaceOrientations:.

We tried several things to solve the issue :

  • remove all the frameworks that are not built by us ; the issue is still present
  • remove the code related to this API in our base code and the frameworks ; the issue is fixed
  • remove only the code related to this API in our base code ; the issue is fixed

This indicates that the problem is the code related to this API. The code removed :

override public var supportedInterfaceOrientations: UIInterfaceOrientationMask {
        get { configuration.orientation }
        set { _ = newValue }
    }

This code is located in our local SPM. It's used to handle orientation of our app depending on specifics configuration given as a parameter.

Why Xcode 16 is detecting this API as a private one and consider this as an issue ? Is there a specific configuration we need to do in the local SPM package ?

We are investigating on our side if we can find an alternative solution by changing this code, but this does not seem a bad usage as described in Apple documentation.

Thank you for your help, Regards. RIVIERE Nicolas

Answered by Etresoft in 813063022

That is a read-only properly. Just remove the "set" and it should be fine.

Accepted Answer

That is a read-only properly. Just remove the "set" and it should be fine.

ITMS-90338: Non-public API usage : setSupportedInterfaceOrientations
 
 
Q