¿Qué tienen en común iVideoCamera (una aplicación que permite grabar vídeo en el iPhone 3G), iSimulate (para transmitir a un equipo externo los datos de la pantalla multitáctil, el acelerómetro, la brújula y el GPS) y Ustream Live Broadcaster (de streaming de vídeo)? Pues que son tres aplicaciones que utilizan APIs privadas, una violación del acuerdo que han de aceptar todos los desarrolladores de iPhone pero que aún así han sido aprobadas por la compañía y están disponibles en la App Store.
De todas las enigmáticas y dificilmente comprensibles restricciones a las que se enfrentan los desarrolladores, el uso de APIs privadas es uno de los menos polémicos. Se trata de funciones de programación no documentadas por Apple, principalmente por ser inestables en el sentido de que pueden cambiar o desaparecer en futuras versiones del SDK del iPhone. Tiene su lógica: si vas a construir una casa mejor hacerlo sobre unos buenos cimientos que en un pantano de arenas movedizas.
Aún así, las excepciones siempre han existido. Google Mobile App fue una de las primeras en colarse en la App Store ignorando el hecho de que utiliza APIs privadas: la aplicación activa la búsqueda por voz cuando nos llevamos el teléfono al oído gracias a la información proporcionada por los sensores de proximidad y luz ambiental.
Más curioso aún es el caso de iSimulate, en el que su desarrollador llegó a recibir un correo de Apple informándole de que su aplicación incurría en una violación de la licencia del programa de desarrolladores, concretamente de la sección 3.3.1 "Las aplicaciones solo pueden utilizar APIs documentadas de la forma prescrita por Apple estando prohibido utilizar o realizar ninguna llamada a APIs privadas". El correo concluía aclarando "Aunque su aplicación no ha sido rechazada, sería conveniente resolver este problema en su próxima actualización"
¿Clemencia? ¿Un milagro de navidad? ¿O un cambio en la hasta ahora dura política de aprobación de la App Store? Puede parecer una pequeña mejora, pero desde luego es significativa. Como bien apunta Vimov, desarrollador de iSimulate, la diferencia implica un beneficio real en cuanto a que en lugar de tenerse que enfrentar de nuevo a todo el proceso de revisión y semanas de espera, puede limitarse a solucionar el problema en la próxima versión, eliminando de ser posible el código conflictivo. En el caso de iSimulate se trataba de una llamada a un función que ya no era necesaria y que podía reemplazarse por otra documentada así que, todos contentos.
Queda por verse si esto es cambio real en la política de Apple que termine alcanzado otros puntos conflictivos del proceso de aprobación pero como se suele decir: uno es casualidad, dos son coincidencia y tres tendencia.
Vía | Macworld
Ver 15 comentarios