He decidido usar el motor de juego Unity para desarrollar mi juego para iPhone. Pero necesito usar algunas funciones integradas en el SDK de iOS.
Si elijo desarrollar con Unity, ¿puedo seguir usando las funciones del SDK de iOS estándar? Como funciones para acceder a una url, etc...
Cuando compila un proyecto de Unity para iOS, toma su código C# o JavaScript y AOT lo compila en un dll nativo. Luego crea un proyecto xcode que carga ese dll. Puede agregar funciones nativas de ObjectiveC o C/C++ a este proyecto y exponerlas para llamar desde el motor de Unity.
http://unity3d.com/support/documentation/Manual/Plugins.html
Unity también tiene métodos integrados para acceder a las URL .
No sé cómo está construido el SDK de Unity, pero si se trata de una biblioteca de Objective-C estática, puede acceder a las funciones del SDK de iOS sin ningún problema. Si es un motor de secuencias de comandos en el que desarrolla sus secuencias de comandos fuera del IDE, es posible que no pueda acceder a la función de iOS.
¿Has revisado otros motores/SDK para el desarrollo de tu juego? Sé que Cocos2D está bien documentado y estoy seguro de que puede llamar a los métodos de iOS. ¡Buena suerte!
Usé unity3d y corona, que son muy buenos en su campo, y sí, puedes usar todo el SDK estándar sobre ellos, aunque a veces necesitas hacer trucos (lo cual es bastante molesto). Si está desarrollando un juego en 3D y está familiarizado con el motor NVIDIA PhysX, opte por Unity, le brinda funciones interesantes. Pero si no tienes ni idea de colisiones/cuerpos rígidos/muñecos de trapo, etc. seguro que lo pasarás mal.
En cuanto al desarrollo de aplicaciones 2d, ya que no me gusta Objective-C, prefiero corona que se codifica en lua (fácil de aprender y usar). Puede usar la mayor parte del SDK de IOS sin ningún problema.