Ahora que el monotouch está prohibido, me preguntaba si hay una forma de traducir C# (u otro idioma) en Objective-C? No me importaría usar la API de Apple siempre que no tenga que declarar mis variables en 3-4 etapas (ivar-property-synthesize-dealloc). Todo lo que quiero es un lenguaje menos prolijo, concentrarme en mi intención y no en la sintaxis del compilador.Compilar C# en el objetivo-C
Respuesta
Debe hacer una pausa para ver qué sucede realmente en lugar de asumir que Monotouch está prohibido.
O, aprende Objective-C. De todos modos, es bueno para la mente aprender un nuevo idioma. Y los marcos tendrán más sentido para ti.
Siempre puede definir su propio metalenuaje para objetos, escribir su significado previsto, analizar ese archivo y pegar el código recién creado en XCode.
Y si está realmente en contra de ObjC y XCode, Apple le ha dado su ultimátum: úselo o váyase.
Lamentablemente, creo que esta es la respuesta correcta, Apple ha trazado la línea en la arena. –
sí, tengo que usarlo. Lo sé, es un negocio, nada personal. Solo quiero ver si puedo minimizar mi sufrimiento;) metadatos y pegar es un enfoque hacky, estaba pensando en escribir en C#, luego el compilador convirtiéndolo en un lenguaje "intermedio" (C u ObjC) y luego deja que xcode lo compile en segundo plano ... –
Eso es exactamente lo que prescribo (si se niega a rodar manualmente Objective-C). Escriba un compilador pequeño para convertir su formato de elección a Objective-C. Luego solo copie/pegue eso en XCode - No veo cómo eso es menos hacky que lo que usted recomienda. –
Si resulta que la manera en que la gente sugiere que resultará, entonces la respuesta a su pregunta en realidad no resuelve su problema.
El acuerdo SDK hace mención específica a la 'originalidad' del Objective-C (y otros idiomas). Traducir de C# a Objective-C infringe este requisito de que las aplicaciones se escriban originalmente en Objective-C.
En segundo lugar, Monotouch ya es compatible con la compilación completa de AOT.
Traducir sería contrario a la política de Apples porque su código debe codificarse originalmente en C, Obj -C, C++.
Procedente de originalmente aprender Java no es tan difícil. ¿Es la declaración de variables en múltiples lugares realmente su principal objeción? Es fácil de hacer y le da un control estricto sobre su programa. También se sospecha que iPhone OS 4 necesita un código nativo para poder realizar varias tareas correctamente. También tiene sentido, de lo contrario, modificarían el acuerdo de licencia actual si querían detener a Adobe.
monotouch produce "código nativo" y puede ser multi tarea "amigable", solo necesita seguir reglas. He hecho ObjectiveC y tengo 7-8 aplicaciones en la tienda de aplicaciones, las he vuelto a escribir todas en C# (para ser honesto en el autobús al llegar a la oficina y regresar a casa), así que C# es mucho más fácil para mí. lo que no tiene sentido para mí es el enfoque de Apple de mi camino o la carretera. si tenían un conjunto de reglas que tu aplicación debe seguir para ser aceptable, estaba bien, pero con el idioma que escribo, mi aplicación es demasiado. de nuevo, entiendo, es su plataforma y pueden hacer lo que quieran. –
Si monotouch hace todo correctamente, ¿qué sabría Apple qué idioma usaste? No les envíes tu código fuente (a menos que esto haya cambiado). La única razón por la que lo sabrían es si el SO no puede controlarlo correctamente y está produciendo errores, en cuyo caso Monotouch no lo está compilando correctamente y esto afectaría al usuario. Y si te preocupa romper el acuerdo mediante el uso de monotouch, vas a hacerlo de todos modos al tratar de traducir a Obj-C, así que ese no debería ser el problema. – Rudiger
@Rudiger: monotouch hace todo absolutamente correctamente, el binario que produce, sin embargo, tiene algunos "marcadores" y "firmas" que hacen que sea obvio para Apple que el binario se compila con monotouch. hay muchas aplicaciones en la tienda de aplicaciones escritas en el objetivo c, que son geniales y hay muchas malas. muchos de ellos colapsan, otros no. muchos pierden memoria, muchos no. Lo que hace que una aplicación sea genial no es la herramienta, es el desarrollador. al prohibir ciertas herramientas nadie logra una mejor calidad. –
Esto es algo que escribí el año pasado y puede ayudarte con la transición - Objective C by example for a C# developer, asumiendo que Monotouch está realmente prohibido.
- 1. objetivoC/CMTime - convierte AVPlayer.duration en milisegundos
- 2. compilar OpenCV en C++
- 3. Compilar C++ con Cygwin
- 4. Directorios dSYM al compilar el código C++ en MacOS
- 5. Compilar código C# en la aplicación
- 6. C++ Cómo compilar dll en .exe
- 7. ¿Cómo compilar solo un archivo en C#?
- 8. Compilar simple hello world Ejemplo ZeroMQ C, compilar indicadores?
- 9. C++: Cómo compilar Strings/char *
- 10. Compilar un proyecto C# en un dll
- 11. ¿Cómo compilar C++ en Ubuntu Linux?
- 12. cómo compilar código no seguro en C#
- 13. ¿Compilar el script de ruby en exe?
- 14. ¿Cómo compilar y ejecutar un programa C/C++ en el sistema Android (como MinGW en Windows)?
- 15. Cómo compilar el programa C sin ninguna optimización
- 16. Cuándo usar Cygwin o MinGW para compilar el código C?
- 17. tipos conflictivos error al compilar el programa c usando gcc
- 18. Obligar a gcc a compilar el archivo .cpp como C
- 19. Problemas al compilar el Objetivo C con Clang (Ubuntu)
- 20. Compilar programa en C++ en Mac para funcionar en Linux
- 21. Compilar dos versiones del programa C# automáticamente
- 22. Compilar C++ para varias versiones de Ubuntu
- 23. Compilar y ejecutar un programa en C en Emacs
- 24. Compilar rubí con su API C
- 25. Intentando compilar y depurar C++ desde Vim
- 26. Compilar en la línea de comandos en Visual C++
- 27. Cómo compilar y ejecutar un programa C/C++ en el sistema Android
- 28. C++ unordered_map compilar problema con g ++
- 29. AVR Studio 5: Código de compilar C++
- 30. No se puede compilar C++ con gcc
Apple prohibió los programas no ObjC matar a Flash. MonoTouch es daño colateral; Además, los chicos de Novell dijeron que estarían trabajando con Apple para ver si podían seguir siendo legales. – zneak
Estoy de acuerdo. MonoTouch es una envoltura 100% triturada alrededor de CocoaTouch cuyo único propósito es hacer que el cacao absorba menos. Expone todo el SDK de CocoaTouch utilizando su lenguaje, por lo que las aplicaciones creadas con él se verán y se sentirán tan nativas como las escritas en ObjC. No abstrae tres marcos muy diferentes como QT does (Cocoa, Win32, KDE/GNOME/whatever). Es bastante desafortunado que pueda desaparecer. –
Si está compilando para dispositivo iPhone, no necesita crear un ivar para una propiedad. El tiempo de ejecución creará un ivar para ti. Si está construyendo para el simulador, tendrá que crear un ivar. Sucks. ¡Por favor presente una boleta y haga que el simulador aspire menos! – Giao