2010-06-06 4 views
5

Apple no quiere que nadie cree aplicaciones para iPhone fuera del entorno Xcode/Objective-C. ¿Cómo pueden hacer cumplir esto?Nueva política de iPhone Dev ... ¿cómo lo hace cumplir Apple?

Si el IDE no de Xcode, por ejemplo Unity, se compila en un ejecutable de iPhone, ¿cómo sabrá Apple qué entorno de desarrollo de software utilizó para crear la aplicación? ¿Pueden hacer que Xcode compile algún tipo de firma en el ejecutable de la que nadie sepa?

+0

@Longpoke: Creo que fue implementado principalmente para detener a Adobe. – dreamlax

+3

Espera, ¿qué? subjetivo y argumentativo? No estoy de acuerdo, creo que esta es una buena pregunta: ¿cómo puede Apple reconocer una violación 3.3.1? – Colin

+2

¿Por qué es esto "subjetivo"? Solo hay una respuesta correcta, o tienen alguna forma de saber quién infringe la regla sin ninjas o no. –

Respuesta

1

Para herramientas como unity, corona, flash y otras plataformas utilizadas para "generar" aplicaciones de iphone, Apple puede "descompilar" y examinar tu aplicación (mira patrones de funciones generadas, etc.). A partir de esto, es posible que adivinen que su aplicación se generó con dicha herramienta.

En el límite, esto es imposible. Considere lo siguiente: escribo código de script para generar un montón de código object-c. A continuación, importo manualmente los archivos object-c en xcode y compilo la aplicación. ¿Cómo podría Apple distinguir el código generado por el script del código escrito por humanos? Tal vez solo tiendo a escribir código que se ve como generado por la máquina. No hay manera de que Apple determine si el código fue "originalmente escrito en Objectivo-c, c, C++ o javascript" o no, aún así, técnicamente, violaría el acuerdo. Es por eso que la parte 3.3.1 del acuerdo no tiene sentido.

0

Creo que muchas de estas herramientas de traducción tienen algún tipo de biblioteca común de funciones de tiempo de ejecución que se encarga de las partes que no se pueden traducir 1: 1. Esas funciones podrían ser bastante constantes independientemente de su aplicación. De esa forma no habría una necesidad real de descompilar la aplicación. sino que solo busca el uso de esas firmas de funciones.

FWIW Encuentro que la idea de limitar las herramientas de elección del usuario es un mal movimiento.

1

La mayoría de los sistemas automatizados hacen las cosas de una manera particular, que no es difícil de detectar. Si alguna vez miró el código PHP o JavaScript que genera Adobe Dreamweaver, por ejemplo, sabe lo fácil que es encontrar cosas como esta.

1

Apple está haciendo esto para evitar que las personas usen el marco de desarrollo Flash de Adobe. También se debe tener en cuenta que la decisión de Apple de limitar los marcos de aplicación de esta manera hace que DOJ/FTC o alguna agencia gubernamental inicie una investigación informal sobre las prácticas monopólicas.

From this article: "De acuerdo a la fuente de Hollywood del Post, la prohibición de la tecnología Flash de Adobe en el iPhone y el iPad de Apple es lo que llevó al gobierno a hurgar."

Ellos realmente no tienen un problema hasta ahora con otros marcos porque Adobe no tenía uno basado en el entorno Flash. Ahora que hay uno, Apple restringirá todo lo que habla/mira/huele/actúa como una aplicación Adobe Flash en el iPhone. En mi opinión, no harán nada con otros marcos, pero harán cumplir la regla solo para Adobe. Lo cual trae a colación toda la práctica de las prácticas monopolísticas.

Cuestiones relacionadas