Inicio > Delphi, iOS, OSX, XE4 > Configuración del entorno de trabajo iOS/OSX (Delphi XE4)

Configuración del entorno de trabajo iOS/OSX (Delphi XE4)

Share Button

Las últimas versiones de Delphi incluyen, tal y como podéis leer en las características del producto, soporte para dispositivos iOS y OSX (MAC). Hace tiempo que deseaba probar estas características, así que aprovechando que estos día he tenido acceso a una máquina Apple, he probado a “poner en marcha” el entorno de desarrollo y a hacerlo funcionar.

En general el proceso ha sido más sencillo de lo que pensaba (aunque tal vez también con más pasos de los que esperaba…). Hay que realizar varias operaciones, pero en sí, ninguno complicada.

Todavía no dispongo de un dispositivo iOS, así que me he tenido que quedar (conformar) en el punto de ejecutar la aplicación en OSX (en la versión 10.8) utilizando los simuladores correspondientes a estos dispositivos.

Según la documentación necesitamos tener instalada una versión OS X 10.7 Lion o 10.8 Mountain Lion en nuestro MAC. A partir de ahí, para dispositivos móviles, es necesario contar con una versión iOS 5.1 o superior.

Instalación de XCode en MAC

Imagen404Para iniciar la configuración de nuestro equipo, lo primero que debemos instalar es XCode. El entorno de desarrollo en MAC. En mi caso lo he  descargado directamente de “Apple  App Store”, aunque si disponéis del DVD de instalación, es posible que podáis instalarlo desde allí.

Imagen405

En mi caso he descargado la versión 4.6.2, que es la que actualmente se encuentra en la App Store y me está funcionando sin problemas.

Para poder completar el proceso de descarga se os pedirá el ID de Apple. Si no lo tenéis llegados a este punto, desde aquí mismo podéis creároslo. Una vez completado comenzará el proceso de descarga.

Imagen407

 

Instalación de PAServer

Una vez instalado XCode, lo siguiente que necesitamos es la aplicación Platform Assitant (PAServer) que nos ayudará a desarrollar aplicaciones multiplataforma. Es el servidor remoto de que necesitamos instalar para poder comunicar nuestro IDE (windows) con nuestro MAC. Por defecto PAServer trabaja con el puerto 64211, como veremos en la instalación.  Si deseamos podemos cambiarlo, y tanto en un caso como en otro, tendremos que tener presente esto a la hora de trabajar en Windows con él.
Es lógico que antivirus y firewalls pueden bloquear o avisar en algún momento del uso de este puerto y en caso de fallos de comunicación, podemos iniciar por revisar estos programas (si los tenemos instalados).

Para la instalación de PAServer necesitamos el fichero RADPAServerXE4.pkg, que podemos conseguir de varias formas:

OPCIÓN 1: Si hemos realizado la instalación de XE4 en Windows, junto con la instalación, se copia este fichero dentro de la estructura de carpetas de la instalación. En mi máquina, por ejemplo (Windows 7), se encuentra en:

«C:\Program Files (x86)\Embarcadero\RAD Studio\11.0\PAServer\RADPAServerXE4.pkg»

Bastará con copiarlo a nuestro MAC e instalarlo.

En Windows Vista o en XP el directorio de instalación es muy similar a este, modificando la primera carpeta de la ruta.

OPCIÓN 2: La otra opción, es directamente descargarlo desde la página de Embarcadero e instalarlo directamente desde la máquina OSX. Se puede encontrar en:

http://installers.codegear.com/release/radstudio/11.0/PAServer/RADPAServerXE4.pkg

Una vez que iniciamos la instalación, basta con seguir los pasos del asistente para instalar la aplicación. Una vez finalizada tendremos la aplicación RAD PAServer XE4.

 Imagen408Imagen409Imagen410Imagen411

Al ejecutarla, la aplicación nos pedirá un password para posteriormente poder conectarse (podemos dejarlo en blanco) y nos solicitará permisos de root para poder continuar. Una vez en marcha, podremos ver el puerto por el que la aplicación está esperando conexiones, que si no hemos modificado, será el 64211, como hemos comentado anteriormente.

Imagen412

Otras configuraciones

Dentro de XCode, necesitaremos instalar algunos “componentes” adicionales, si no están instalados, necesarios para poder trabajar y para poder acceder a los simuladores de los diferentes dispositivos.

Abrimos XCode, accedemos a las preferencias y dentro de la sección Downloads, seleccionamos:

  • Command Line Tools
  • iOS Simulator 5.1 si no está instalado.
  • … si deseaís alguno más, podéis instalarlo opcionalmente.

Imagen413

 

Configuraciones en el IDE (Delphi)

De vuelta en el IDE de Delphi (windows) es necesario realizar algunos cambios relativos a la conexión con el equipo OSX.  Para poder conectar ambos equipos, debemos crear un “Perfil de conexión” (Profile Manager) desde el IDE de Delphi, donde especificaremos los datos de conectividad entre ambos. Desde las opciones (Tools/Options) accederemos a la sección Connection Profile Manager.

Imagen414

Crearemos un nuevo “perfil” (“profile”) donde especificaremos el nombre de la conexión, el sistema a conectar (OSX en nuestro caso), la dirección IP de nuestro MAC, el puerto de conexión (por defecto 64211, si no lo hemos modificado) y el password, si es que hemos especificado alguno en la ejecución de PAServer.

Imagen416

Desde esta misma ventana podemos testear la conexión que hemos configurado. Para ello deberemos tener en marcha PAServer en nuestra máquina con OSX. Si hay algún problema de conexión, obtendremos un mensaje de “Connection failed”, si por el contrario, la conexión es correcta obtendremos un mensaje de “Connection succeeded”, como los que aparecen más abajo.

Imagen417Imagen418

Adicionalmente debemos añadir en la Sección “SDK Manager”, los perfiles necesarios para los diferentes dispositivos sobre los que vayamos a desarrollar. Podemos añadir tantos perfiles como necesitemos, seleccionando el sistema (OSX, IOS), la conexión configurada anteriormente en el “Connection Profile Manager” y un SDK entre los disponibles.

Imagen420Imagen419

Si todo esto es correcto, ya deberíamos tener configurada nuestra conexión entre ambos equipos con todo lo necesario para trabajar.

Probando el entorno de desarrollo (Windows/OSX)

Imagen421Para probar nuestra configuración. vamos a crear una aplicación básica que podamos ejecutar tanto en nuestro sistema Windows, como en nuestro equipo MAC. Para ello crearemos una nueva “Firemonkey Desktop application” (HD).

Bastará con un simple formulario y un par de botones. en mi caso además he añadido una imagen con una animación (TFloatAnimation) que la hace rotar constantemente y un efecto (TShadowEffect) sobre este mismo componente que le añade una sombra.

El código disponible en el botón es lo suficientemente sencillo para no necesitar grandes explicaciones.

procedure TForm1.Button1Click(Sender: TObject);
var
  Str:string;
begin
  Str := 'Hola mundo!!! ;';
{$IFDEF MSWINDOWS}
  Str := Str + ' (ejecutando en MS Windows)';
{$ELSE}
  Str := Str + ' (ejecutando en OSX)';
{$ENDIF}
 
  ShowMessage(Str);
end;

He añadido un condicional (MSWINDOWS) simplemente para distinguir el mensaje que aparecerá en la ejecución en Windows con el que aparecerá en la ejecución en OSX. Hay muchos más condicionales que se pueden utilizar referentes a la plataforma de despliegue, a la versión del sistema, al procesador,… que se pueden consultar aquí.

Si ejecutamos el programa, el resultado es el esperado. Nuestra aplicación Windows que cuando se pulsa el botón, muestra un mensaje de sistema con el mensaje “Hola Mundo !!!”, seguido del texto condicional.

Imagen422

Para poder ejecutar este mismo programa en OSX y comprobar si nuestra configuración es correcta, necesitamos añadir como plataforma de despliegue OSX. En el IDE basta con Imagen423seleccionar en el “Project Manager” que deseamos añadir esta nueva “Target platform”. Si las configuraciones anteriores (SDK) se han realizado correctamente, en el desplegable ya aparecerá la opción OSX, para seleccionar.

Basta con crear esta nueva “target platform” y seleccionarla como la predeterminada (doble click).

Si compilamos y ejecutamos ahora nuestra aplicación, y pasamos a nuestra máquina OSX (con PAServer ejecutando), veremos cómo la aplicación se ejecuta sin problemas. Si en este caso pulsamos sobre el botón, comprobaremos que el mensaje se despliega en pantalla con un par de diferencias. El estilo es nativo de OSX (como es de esperar) y el mensaje en el que hemos usado el condicional, ahora muestra el correspondiente a OSX.

reflectedImage (1)

Probando el entorno de desarrollo (iOS)

Finalmente, aunque no pueda probarlo en un dispositivo real (que necesitaría estar conectado por USB al MAC) puedo testear algo similar con un dispositivo iOS, en este caso utilizando los simuladores.

A diferencia de versiones anteriores de Delphi, en XE4 ya dispongo de los simuladores en el entorno de desarrollo, de forma que puedo diseñar mi aplicación de una forma más cómoda.

Imagen426

Es este caso desde el menú Nuevo, voy a seleccionar “Firemonkey mobile Application”. Una vez que accedo al asistente de aplicaciones móviles (que se ve en la imagen que hay encima de este párrafo) podemos seleccionar entre alguna plantillas ya existentes de aplicaciones, o simplemente la opción de “Blank Application”.

Para mi ejemplo voy a seleccionar “Header/Footer with Navigation”, que me creo una aplicación en blanco, con la plantilla seleccionada (añade paneles en la parte superior e inferior de la pantalla.)

Ahora podemos ver en el IDE de Delphi el simulador y podemos seleccionar entre los diferentes dispositivos (a la derecha) que podemos utilizar; iPad, iPhone, iPhone 5 y Custom device. También tenemos un botón (primero a la izquierda) con el que podemos rotar la vista del dispositivo para comprobar como se ve la aplicación, en todas las orientaciones.

Imagen428

Si ejecutamos la aplicación y cambiamos a la máquina OSX, veremos como se pone en marcha el simulador de iOS y podemos probar nuestra aplicación. El este caso, como era de esperar, el mismo código utilizando antes sigue funcionando y en este caso el mensaje mostrado sale con el estilo del sistema utilizado.

Imagen429

De igual modo podríamos seleccionar diferentes dispositivos en el “Project manager” para poder probar la aplicación en Imagen430diferentes “targets”.

Una vez que ejecutamos la aplicación desde la máquina destino (OSX) podemos modificar el comportamiento de esta en el momento de ejecutar. Podemos seleccionar diferentes escalas de visualización y tenemos opciones para girar el dispositivo, agitarlo, pulsar los botones, simular teclado, activar/desactivar la barra de estado y en general, simular todos los comportamientos posibles del aparato.

Con esto, doy por completado este primer artículo introductorio. Espero que sirva como una guía, junto con la documentación existente en Embarcadero, para aquellas personas que quieran iniciar las pruebas con Delphi para desarrollar en iOS/OSX.

Como siempre, los comentarios, sugerencias, críticas y demás serán bienvenidos.

Un saludo y hasta la próxima.

Vota este post
Categories: Delphi, iOS, OSX, XE4 Tags: , ,
Subscribe
Notify of
guest

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

22 Comments
Inline Feedbacks
Ver todos los comentarios
Pablo
11 years ago

Muy bien tutorial Neftalí,como es usual ud siempre brindando muy buena informacion y detallada al minimo,una vez mas ser agradece por su tiempo y el aporte hecho.

Saludos
Pablo A
Lima – Peru

casimiro
casimiro
11 years ago

Vaya, qué buen trabajo, seguro que muchos te lo agradecerán.
Saludos.

Jhonny Suárez
Jhonny Suárez
11 years ago

Que bien, muchas gracias. Me ha servido mucho.

DAVID
DAVID
11 years ago

Hola he seguido tu tutorial para desarrollar una app en delphi xe4, y no consigo que funcione. me consigo conectar con el servidor rad paserver de la maquina virtual, pero a la hora de ejecutar la aplicacion en delphi, me sale un mensaje de «session ended», y no salgo de ahi. He configurado el «connection profile manager» y las dos «SDK manager». no sabras a que es debido?? Es que no encuentro a nadie con el mismo problema en internet.
Un saludo y muchas gracias
David Hernanz

Carlos E Velez Farak
11 years ago

Muy buena ilustración pero por que no hay simuladores en windows para los dispositivos ios seriamucho mas interesentaes

Jesus
Jesus
11 years ago

David, tengo el mismo problema que tu. ..lo lograste resolver?.. Gracias. Saludos

Jesus
Jesus
11 years ago

Gracias por el tutorial Neftali, por favor podrias poner las maquinas y sistemas operativos que usas?, yo con iMac 10.6.8 (Snow Leopard) y XE4 sobre W7 (32 bits) y maquina con i3 no va, tengo el mismo error que David (session ended). He mirado firewall, antivirus, etc y no hay nada que cierre ninguna conexion…Gracia. Saludos.

Jesus
Jesus
11 years ago

Hola Neftali. Gracias por la informacion. Efectivamente, he puesto Mountain Lion 10.8.4 en un disco externo y todo va como la seda ahora.

Saludos
Jesus

Luis Pineda
Luis Pineda
11 years ago

Hola amigo. muy buena explicacionn. Hasta el momento solo he podido simular una aplicacion mobile en la Mac.pero como puedo compilar el producto finalEn Delphi Xe2 existi­a una opcion Export to Xcode. te generaba los archivos necesarios para compilar el proyecto en xcode.pero, Delphi XE4 no tiene la opcion. cual es el paso a seguir o como puedo abrir mi proyecto firemonkey en el xcode para compilar el .app final. Saludos

Eric
Eric
11 years ago

Tutorial muy interesante, lamentablemente a mi tambiien me da el error de Connection to 87.230.60.1 failed on port 64211.
He comprobado antivirus, firewall, etc., nada. El equipo que tengo en la cuenta de Macincloud tiene el OSX 10.8.4
¿Alguna sugerencia? Saludos.

Alejandro
Alejandro
10 years ago

Que buen tutorial, me ha funcionado en OS X 10.8.5, y; con XE6… Seguro que estarás preparando otro tutorial con Android. Saludos

marcos
marcos
10 years ago

Hola. Vi que un usuario tiene el error de session ended. Alguen que tenga la solucion? A mi me pasa lo mismo. Ya deshabilite antivirus. Firewall. Q opinan?

Peterdog
Peterdog
9 years ago

Buenas he segido el manual y he consegudio ejecuar la aplicacion en el Mac osx pero no tengo manera de hacerla ejecutar en iOS me da un error.
[PAClient Error] Error: E0264 Unable to execute ‘»/usr/bin/codesign» –en «/Users/Username/RADPAServer/scratch-dir/MY_Mac/Hola_Mundo.app/Entitlements.plist» -s «iPhone Developer?» -f «/Users/Username/RADPAServer/scratch-dir/My_Mac/Hola_Mundo.app»‘ (Error 1)
[PAClient Error] Error: E0264 iPhone Developer: no identity found

Alguien me puede devir a que es debido??

Indicar lo siguiente
Mac Osx 10.10.2
SDK 8.2
Tengo certificado de desarrollador
Con Xcode 6.2 puedo crear app para iOS y se ejecutan en el iphone
Tambien puedo compilar desde XE7 app para OSx

Pedro-Juan
Pedro-Juan
1 year ago

Hola Neftalí,

Estoy valorando la posibilidad de comprarme un Mac de sobremesa (dejar Windows totalmente).

Pero antes tengo que asegurarme de la compatibilidad con los programas que utilizo, al menos los imprescindibles, que se puedan instalar en Mac y que funcionen correctamente.

En este caso Delphi (D10.2 Tokio). ¿Podrías decirme si se puede instalar? ¿Si funciona correctamente? Y, en su caso, darme algún enlace para informarme?

No se trata de desarrollar desde Win para Mac, sino de desarrollar desde Mac para Mac con Delphi.

Comentario: un conocido me dijo hace varios meses «cuando lleves dos días con mac, no querrás volver a Windows» y lo he ido madurando…

Muchas gracias y un saludo.

Francisco
Francisco
1 year ago

@Pedro-Juan
Hola Pedro no hay Delphi que puedas instalar en la mac. a no ser que dentro le instales una VM con Windows.

22
0
Would love your thoughts, please comment.x
()
x