28 noviembre 2014

Aplicaciones para iOS (el "wrapper") (Parte 7 de 9)

Eliminar elementos no requeridos


Cuando construimos una determinada aplicación, es probable que no queramos incorporar todos los posibles ajustes de conexión. Para lograrlo, necesitaremos desactivar lo que no necesitemos del “Settings.bundle”.

  • Abra mediante xCode el proyecto y seleccione “Settings.bundle”.
  • Quite la marca de los “target’s” no requeridos, de entre los mostrados en “Target Membership”. 


26 noviembre 2014

Aplicaciones para iOS (el "wrapper") (Parte 6 de 9)

Localizar su aplicación


La localización, sólo está soportada en versiones 1.1.3 o superiores del “wrapper” iOS.

Si desea traducir los textos utilizados por la aplicación “wrapper”, podrá hacerlo tal y como describimos a continuación. Si el usuario configura su dispositivo para su uso con alguno de los idiomas soportados, se utilizarán los textos según la traducción elegida.

  • Sitúese sobre la raíz del proyecto en el “Project Navigator” y seleccione la pestaña “Info” del proyecto.
     
  • Sitúese bajo la sección “Localizations” y añada un nuevo lenguaje.


  • Sobre la ventana que aparece a continuación, asegúrese de seleccionar los dos archivos “Localizable.strings” e “InfoPlist.strings”. 
  • Si ahora desde nuestro “Project Navigator” nos situamos sobre nodo “Localizable.strings”, observaremos que puede ser ampliado. Si así lo hacemos, veremos que se ha creado una copia del archivo para el nuevo idioma.
  • Este archivo contiene grupos emparejados “key-value”. Las “keys” (situadas a la izquierda del signo igual) deberán dejarse como están, sin embargo, los “values” (situados a la derecha del signo igual) deberán traducirse al idioma elegido.
  • Asegúrese de que cada línea termina siempre con un punto y coma.

Si deseáramos cambiar algunos de los atributos de nuestro “application package” (como por ejemplo, el nombre de la aplicación, el icono, etc.), podríamos hacerlo del siguiente modo:

  • Busque el archivo “InfoPlist.strings” de su proyecto, localizable bajo el nodo “Supporting Files” amplíelo y escoja el correspondiente al idioma que desee. 
  • Cómo en el caso anterior, puede ser construido utilizando pares “key-value”, es decir con el formato: "Key Name" = "Key Value";
  • En este caso los nombres “key” deben coincidir con los definidos en el fichero “≤Nombre Proyecto≥-Info.plist. (por ejemplo “OmnisJSWrapper-Info.plist) La acción predeterminada no muestra éstos valores, por lo que deberá pulsar clic derecho sobre el nombre del archivo y escoger la opción “Open As ≥ Source Code” para verlos.
  • Recuerde que cada línea debe terminar con un punto y coma.


19 noviembre 2014

Aplicaciones para iOS (el "wrapper") (Parte 5 de 9)

Añadir iconos y pantallas de transición personalizadas


Las imágenes utilizadas para el proyecto como iconos y pantallas iniciales, se guardan en la carpeta: OmnisJSWrapper/Resources. Deberá sustituirlos (manteniendo sus mismos nombres) por los de su propia versión.

Sus tamaños y usos son los siguientes:

Iconos de Aplicación:


  • Icon.png (57x57) - iPhone/iPod No-retina. 
  • Icon@2x.png (114x114) - iPhone/iPod Retina. 
  • Icon-72.png (72x72) - iPad No-retina. 
  • Icon-72@2x.png (144x144) - iPad Retina.

Iconos de búsqueda y parámetros:


  • Icon-Small.png (29x29) - iPhone/iPod No-retina. 
  • Icon-Small@2x.png (58x58) - iPhone/iPod Retina. 
  • Icon-Small-50.png (50x50) - iPad No-retina. 
  • Icon-Small-50@2x.png (100x100) - iPad Retina.

Pantallas de transición:


  • Default.png (320x480) - iPhone/iPod No-retina. 
  • Default@2x.png (640x960) - iPhone/iPod Retina. 
  • Default-568h@2x.png (640x1136) - iPhone 5. 
  • Default-Portrait.png (768x1004) - iPad No-retina (orientación vertical). 
  • Default-Portrait@2x.png (1536x2008) - iPad Retina (orientación vertical). 
  • Default-Landscape.png (1024x748) - iPad No-retina (orientación horizontal). 
  • Default-Landscape@2x.png (2048x1496) - iPad Retina (orientación horizontal).

Imágenes para el “App Store” e “iTunes”:


  • iTunesArtwork (512x512) – Dispositivos No-retina. 
  • iTunesArtwork@2x (1024x1024) – Dispositivos Retina.

Si desea obtener más información sobre el uso de estas imágenes, consulte la documentación que proporciona Apple al respecto.

Aplicaciones para iOS (el "wrapper") (Parte 4 de 9)

Cambiar el nombre visible de la aplicación (App Name)


Para cambiar el nombre visible de su aplicación:

  • Sitúese sobre la raíz de su proyecto en el “Project Navigator”. 
  • Seleccione uno de los “Targets” y abra su pestaña “Build Settings”. 
  • Localice el “Product Name” de entre la lista de parámetros y modifique su valor.
    Repita éstos pasos para cada uno de los “targets”.


    12 noviembre 2014

    Aplicaciones para iOS (el "wrapper") (Parte 3 de 9)

    Cambiar el identificador (Identifier)


    El “Identifier” identifica a su aplicación y debe ser único entre todas las aplicaciones del dispositivo. Dos aplicaciones con el mismo identificador serían vistas por el dispositivo como si se tratase de la misma aplicación, por lo que este es un paso muy importante. Se recomienda el uso de una sintaxis de nombre de dominio inverso. Por ejemplo: com.miempresa.omnis.miaplicacion.

    • Sitúese sobre la raíz de su proyecto en el “Project Navigator”.
    • Seleccione cualquiera de los “Targets” y abra su pestaña “Summary”.
    • Modifique su “Bundle Identifier” consignado un valor diferente.



    05 noviembre 2014

    Aplicaciones para iOS (el "wrapper") (Parte 2 de 9)

    Editar del fichero “config.xml”


    El fichero "config.xml" contiene la configuración que utilizará su aplicación para conectarse con el servidor Omnis, además de otras opciones que determinarán su comportamiento.

    Localice el fichero "config.xml" situado sobre el directorio raíz del proyecto y modifique sus valores según sea necesario, tal y como se describe a continuación.

    • AppTitle – Mostrará o no, la barra de estado de iOS. 1 para cierto, 0 para falso.
    • SettingsFloatControls - Permite o no, que el “form” pueda cambiar su tamaño/posición, de acuerdo a su propiedad $edgefloat y en relación con la diferencia entre el tamaño de la pantalla del dispositivo y lo consignado en $screensize. 1 para cierto, 0 para falso. Funcionará sólo si el parámetro “SettingsScaleForm” contiene el valor 0.
    • SettingsScaleForm - De ser cierto (1), el “form” será escalado hacia arriba o hacia abajo, hasta ajustarse al tamaño de pantalla del dispositivo del cliente. 1 para cierto, 0 para falso.
    • SettingsAllowHScroll y SettingsAllowVScroll - Si es cierto, se permitirá el desplazamiento horizontal o vertical del “form”. 1 para cierto, 0 para falso.
    • SettingsMaintainAspectRatio - Si el parámetro “SettingsScaleForm” contiene el valor 1, el “form” se escalará de acuerdo a su aspecto original. 1 para cierto, 0 para falso.
    • SettingsOnlineMode - Determina si la aplicación se abrirá en modo “On-line” (1) o en modo “Off-line” (0).
    • TestModeEnabled - Determina si el modo de pruebas (opción Ctrl-M para testar “forms” en dispositivos) estará habilitado para su aplicación. 1 para cierto, 0 para falso.
    • TestModeServerAndPort – Es la ≤direccionip≥:≤puerto≥ usada con la versión Omnis Studio Developer durante el modo de pruebas. 
     
      • ServerOmnisWebUrl - URL del servidor Omnis o servidor Web. En caso de un servidor Omnis su formato debería ser: ≤direccionip≥:≤puerto≥ y si se trata de un servidor web, debería ser la raíz de su servidor Web: http://miservidor.com.
      • ServerOnlineFormName - Ruta hacia el fichero .htm correspondiente al “form” inicial, alojado en el servidor “ServerOmnisWebUrl”. Si se esta desarrollando la aplicación, es decir usando el “Omnis Studio Developer”, su formato será /jschtml/miform. Si se está utilizando un servidor web, será el resto de la URL necesaria para llegar hasta el fichero, por ejemplo, /omnisapps/miform. (¡Sin añadir la extensión .htm
     
      ServerOmnisWebUrl y ServerOnlineFormName, sólo son necesarios si se usarán “forms” en modo “On-line”. El resto de parámetros “Server...” se necesitarán si la aplicación también será ejecutada en modo “Off-line”. 
       
      • ServerOmnisPlugin - Si se está usando un plugin para establecer la comunicación entre el servidor web y el servidor Omnis, éste parámetro deberá indicar la ruta donde éste se encuentra, partiendo de “ServerOmnisWebUrl”. Por ejemplo /cgi-bin/omnisapi.dll.
      • ServerOmnisServer – Indica el camino hacia el Servidor Omnis, su formato es ≤direccionip≥:≤puerto≥. Sólo es necesario si se está usando un servidor web con el “Omnis Web Server Plugin” instalado. Si el servidor Omnis, se está ejecutando en la misma máquina que el servidor web, sólo necesitará indicar el puerto en uso. Ejemplo 194.168.1.49:5912.
      • ServerOfflineFormName - Nombre del “form” para uso en modo “off-line”. (¡No añada .htm!), Por ejemplo rfOffline.
      • ServerAppScafName - Nombre de la aplicación “SCAF”. Deberá coincidir con el nombre de su librería. Por ejemplo: milibreria. Nota: el nombre es sensible al uso de letras mayúsculas y minúsculas, por lo que le recomendamos usar sólo minúsculas).