Voy a subir mi primera aplicación mac a Apple Store
Y se corrigieron todos los errores de validación del ícono, la categoría ...
Pero después de eso pasé la validación con advertencia:
The resulting API analysis file is too large. We were unable to validate your API usage prior to delivery. This is just an informational message.
Y mi carga será rechazada con el motivo: "Binario no válido"
¿Alguien tiene experiencia en este caso?
ACTUALIZACIÓN: esta advertencia no es la razón del rechazo, tal vez sea el problema de archivo de la aplicación. Lancé con éxito mi aplicación a la tienda.
Entonces, podemos ignorar eso con seguridad.
Respuestas:
Apple prohíbe el uso de API privadas o no documentadas en aplicaciones de iOS. Cualquier llamada que realice a métodos que tengan el mismo nombre que los métodos de API privados o no documentados se marcará como un uso de API privado, incluso si el método al que se llama es algo que usted mismo haya definido.
App Loader realiza un escaneo inicial, verifica los nombres de los métodos, el acceso a las variables de instancia e incluso el uso de @selector con nombres de métodos privados. App Loader no siempre hace un gran trabajo, y cuantos más archivos fuente tenga, más probable será que le advierta que el archivo de análisis de API que ha generado es "demasiado grande".
Afortunadamente, aún puede enviar su solicitud, a pesar de la advertencia. Apple lo verificará internamente, y si algo se rechaza debido a nombres superpuestos, tendrá que repasar el proceso de revisión nuevamente.
Erika Sadun intentó crear una aplicación llamada API Kit que haría el escaneo por usted, pero parece que abandonó su trabajo y eliminó cualquier rastro de la aplicación de su sitio web.
Creación de Chimp Studios App Scanner para hacer lo mismo, pero no se ha actualizado desde 2011. Desafortunadamente, para proyectos grandes, y esto incluye proyectos con muchas vainas adicionales de CocoaPods, no hay una buena actualización (2014) forma de resolver este problema que no sea nombrar las cosas de manera proactiva para que no entren en conflicto con el método de API privado y los nombres de instancia.
Puede aprender de manera proactiva sobre las convenciones de nomenclatura de cacao de Apple e intentar anticiparse. Eso reducirá futuros dolores de cabeza. Sin embargo, hasta que Apple introduzca algo como espacios de nombres, es posible que sigamos encontrando este problema de vez en cuando.
El error "binario no válido" puede provenir de varias causas, pero no tiene ninguna relación con el documento de análisis de API creado por App Loader.
Debe saber que incluso con el escaneo, todavía hay formas de eludir la prohibición de usar API privadas / no documentadas. :)
fuente
Después de abordar este problema por primera vez en mi primer proyecto Swift, parece que la respuesta más común a esta pregunta es ahora:
Si usa Swift 2.xy XCode 7, obtendrá este error. Simplemente ignóralo.
[ACTUALIZACIÓN: El lanzamiento de XCode 7.3 y iOS 9.3 parece haber solucionado este problema]
fuente
Aquí hay una manera fácil de evitarlos ... almacene el nombre del selector al revés, como "dlroWolleH", luego invierta la cadena antes de llamar al método.
Si Apple se da cuenta de eso, entonces puede cifrarlos.
fuente