Por lo tanto, todos sabemos que Apple prohíbe el uso de API privadas o no documentadas en aplicaciones de iOS. No tengo ningún problema con esto, ya que hay razones técnicas sólidas para explicar por qué esta es una buena idea. Sin embargo, dos veces me han rechazado una aplicación por usar API privadas, cuando este no era realmente el caso. No es difícil: las API privadas incluyen símbolos como connectionState
, setThumbnail
, setOrder
, etc. Cualquier llamada que realice a los métodos nombrados como tales se marcará como un uso privado de la API, incluso si el método que se llama es algo que usted mismo ha definido. Para un programa que hace algo con conexiones, miniaturas o el orden de las cosas, los nombres de método mencionados anteriormente no son tan improbables. Ser rechazado por esto y tener que cambiar el nombre de un método y volver a enviar demora todo por al menos una semana mientras espera una nueva revisión.¿Comprueba usted mismo el "uso" de la API privada?
Entonces, ¿hay una manera, usando nm
, vertederos de clase de los marcos de iOS, etc para averiguar por sí mismo si sus nombres de los métodos conflictos con cualquier cosa en allí? Si es así, podríamos tener la oportunidad de corregir esto antes de la publicación y evitar el rechazo innecesario.
Yay, la página de descarga parece ser incompatible con Safari en la Mac. Tuve que usar Firefox para ver el botón de descarga. – auco
Funciona bien para mí en Safari 5.1 (Mac) – Andrew
App Scanner no capta el caso cuando performSelector: se invoca con un selector que es un método privado. Sin embargo, las herramientas de Apple captan ese caso. – ThomasW