2010-07-06 10 views

Respuesta

44

Si bien ninguno de nosotros tiene acceso al proceso de revisión interna (que parece estar cambiando continuamente), hay algunas cosas que se pueden decir sobre la base de las respuestas que la gente ha recibido.

En primer lugar, Apple no tiene acceso a su código fuente, por lo que no revisan eso. Envía un archivo binario como parte de un paquete de aplicaciones, junto con sus otros recursos de aplicación.

Lo hacen, sin embargo, parece que escanear binario de la aplicación de ciertos símbolos que indican el uso de APIs privadas. Varias aplicaciones comenzaron a fallar después de las actualizaciones del sistema operativo de iPhone porque usaban estas API privadas, por lo que Apple ha estado tomando medidas enérgicas al respecto.

Hay un montón de aplicaciones en la tienda que tiene pérdidas de memoria u otros problemas de rendimiento. Sé que he enviado versiones de mis aplicaciones que tenían fugas sutiles (ya que se corrigieron) y no tuve problemas con la revisión. Por lo tanto, no parece que realicen ningún tipo de prueba o perfil de rendimiento.

El único lugar donde una pérdida de memoria provoca un problema haciendo crítica es cuando esa pérdida de memoria se pone tan mal que la aplicación se bloquea cuando el revisor lo está probando. Si su aplicación falla en algún momento durante el proceso de revisión, será rechazada.

Más allá de eso, tienen una lista de elementos de la interfaz de usuario que revisan el uso adecuado de (no hay selecciones persistentes en el vector de vista de filas, etc.). Si su aplicación se desvía significativamente del Human Interface Guidelines al usar estos elementos de IU estándar, puede ser rechazado.

Apple es muy cuidadoso acerca de los derechos de autor, en particular con sus propias imágenes y obras de arte, por lo que puede tener problemas si se utiliza material protegido con derechos de manera incorrecta.

La mayor parte de los motivos de rechazo que se enfrentarán son evitables al hacer que su aplicación estable y siguiendo las directrices de la plataforma, pero algunos no lo son. Ciertas clases de aplicaciones han sido rechazadas debido a su uso previsto, y de nuevo las clases de aplicaciones que están permitidas en la tienda cambian con regularidad. Esto puede agregar frustración e incertidumbre al tratar con App Store, pero la gran mayoría de los tipos de aplicaciones nunca tendrán problemas (como se puede ver en la diversidad de aplicaciones actualmente disponibles).

+0

Gran respuesta. Gracias – jarryd

+0

Esto está mal. Apple tiene acceso a su código fuente: cuando envía la aplicación, las herramientas de desarrollador de Apple las analizan en su máquina y las envían a Apple antes de que se envíe la aplicación. – MacMark

+3

@MacMark - No, no es así, y eso no es lo que sucede. Construyes un binario en tu máquina y les envías solo ese binario. Los binarios compilados a partir de Objective-C pueden retener símbolos dentro de ellos para los métodos que invocan, por lo que pueden ser objeto de dumping y escaneados. Además, es posible que Apple pueda ejecutar su binario dentro de sus propios marcos especialmente construidos y ver cuándo ese binario llama a cosas que no debería. Teniendo en cuenta los informes de falsos positivos de personas con métodos que coinciden con los privados de Apple, el enfoque de escaneo de símbolos es el más probable. –

1

No, sólo tienen acceso al código binario que se le envía.

Pueden funcionar esto a través de los perfiladores de detección de fugas de memoria y similares.

1

No tienen acceso a su fuente; no es parte de lo que les envíes. Probaron el binario que les enviaste por fugas y cosas por el estilo. Creo que también verifican qué datos envía tu aplicación para asegurarte de que no está haciendo nada grave (enviar contraseñas o cosas por el estilo).

2

de Apple no se preocupa por las fugas e información de perfiles para su aplicación. El sistema operativo puede matar tu aplicación si eso se sale de control. Lo que realmente hacen es ejecutar manualmente su aplicación y comprobar si sigue algunas de las pautas de las manzanas. En un proceso automatizado, extraen símbolos, selectores y cadenas de su binario y los verifican para el uso de API privadas.

Es posible que desee probar nm -u en su binario (simulador).

4

tratan de utilizar otool -L binaria a sí mismo y se puede ver de inmediato si se acostumbró un marco API privada ...

0

Ellos sólo reciben su archivo binray de IPA solamente. Pueden obtener parte de su archivo de recursos mientras extraen ipa. Pueden encontrar todas las URL que usaste en el servicio web o en la solicitud de URL. Nada más que esto.

Cuestiones relacionadas