ITMS-90338 & ITMS-90809

ITMS-90338 & ITMS-90809

PROBLEMA

Al enviar una nueva versión compilada a la App Store Connect (https://appstoreconnect.apple.com/), apple rechaza la versión y regresa los siguientes mensajes (ITMS-90338 & ITMS-90809) por email:
  • ITMS-90338: Non-public API usage - The app references non-public selectors in Velocidad_de_lectura.iOS: applicationWillTerminate, ddSetLogLevel:, localTarget, newSocketQueueForConnectionFromAddress:onSocket:, setOrientation:animated:, socket:didConnectToHost:port:, socket:didReadPartialDataOfLength:tag:, socket:didReceiveTrust:completionHandler:, socket:didWritePartialDataOfLength:tag:, socket:shouldTimeoutReadWithTag:elapsed:bytesDone:, socket:shouldTimeoutWriteWithTag:elapsed:bytesDone:, socketDidCloseReadStream:, socketDidSecure:, terminateWithSuccess, webSocket:didReceiveMessage:, webSocketDidOpen:. If method names in your source code match the private Apple APIs listed above, altering your method names will help prevent this app from being flagged in future submissions. In addition, note that one or more of the above APIs may be located in a static library that was included with your app. If so, they must be removed. For further information, visit the Technical Support Information at http://developer.apple.com/support/technical/
  • Though you are not required to fix the following issues, we wanted to make you aware of them:  
  • ITMS-90809: Deprecated API Usage - Apple will stop accepting submissions of apps that use UIWebView APIs starting from April 2020 . See https://developer.apple.com/documentation/uikit/uiwebview for more information.




SOLUCIÓN

En el proyecto de Xamarin.IOS, hay que buscar y eliminar las sentencias 'Xamarin.Calabash.Start();' y '#if DEBUG': 
  1. Buscar en la solución de Xamarin.IOS 'Xamarin.Calabash.Start();' y eliminar esa sentencia.
  2. Buscar en la solución de Xamarin.IOS '#if DEBUG' y eliminar esa sentencia.