Permalink
Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
99 lines (63 sloc) 5.91 KB

Documentación

En este documento encontrará las descripciones e instrucciones para construir y compilar el código fuente de Vhista-iOS. Es importante tener en cuenta que el código en este repositorio no tiene los archivos y llaves correspondientes a la conexión con los servidores. La persona que quiera recrear el proyecto completo debe seguir estas instrucciones.

De ninguna forma Vhista, Inc se hace responsable por el uso o consecuencias de uso del software dispuesto en este repositorio. Vhista, Inc, su nombre, su logo y cualquier información pertinente a la empresa estan protegidas por derechos de autor y no pueden ser usadas en ningun trabajo derivado de este código fuente. Se puede sin embargo, hacer atribuciones y agradecimientos a Vhista desde los trabajos derivados ❤️😊🇨🇴


Archivos del Proyecto

Este es un proyecto desarrollado para la plataforma iOS. Es un proyecto nativo escrito en Swift 4.0. Se recomienda ejecutar el proyecto con macOS High Sierra o superior, así como Xcode 9.3 o superior. Los archivos del proyecto se presentan a continuación:

  • Pods (Carpeta de dependencias de Cocoapods. Previamente subida al repositorio para evitar problemas de versionamiento)
  • Vhista.xcodeproj (Archivo ejecutable de Xcode, No abrir este o las dependencias no se incluirán)
  • Vhista.xcworkspace (Archivo ejecutable de la mesa de trabajo de Xcode, Abrir este para ejecutar)
  • Vhista
    • Archivos & Carpetas con código fuente
    • Assets.xcassets (Carpeta que almacena los recursos gráficos)
    • MLModels (Carpeta que contiene los distintos modelos de CoreML disponibles)
    • en.lproj (Carpeta con textos en inglés)
    • es-419.lproj (Carpeta con textos en español)
  • Podfile (Archivo con las dependencias del proyecto)
  • Podfile.lock (Archivo autogenerado que bloquea las versiones de las dependencias hasta un pod update)

Configuración del Proyecto

Lo primero que se debe hacer para probar el proyecto es modificar el Identificador único de la aplicación. En Xcode, modificar com.juandavidcruz.Vhista por un identificador único y personal.

App Identifier in Xcode

En caso de querer probar en dispositivo físico, u obtener un error de firma del proyecto. Asegurarse de crear una cuenta de desarrollador de Apple en Apple Developer y configurarla en Xcode. Asegurarse de seleccionar la cuenta y seleccionar la opción de firmar automaticamente el proyecto:

App Signing in Xcode

Llaves y Cuentas Necesarias

Para poder utilizar y compilar Vhista, se debe crear una cuenta en Amazon Web Services y allá se debe configurar todo para poder utilizar AWS Rekognition. Se recomienda revisar la documentación completa de Rekognition

Se debe crear una cuenta en Google Firebase para poder utilizar los servicios de Notificaciones, Error Tracking y Analytics. Se recomienda revisar la documentación completa de Firebase iOS para saber cómo obtener el archivo GoogleService-Info.plist que posteriormente se necesitará para compilar el proyecto.

Con la misma cuenta creada para Firebase, se debe activar el Traductor de Google en Google Cloud. Se recomienda leer la documentación completa de cómo funciona el Traductor de Google. Se debe crear la llave única que provee Google Cloud, y esta llave con acceso al traductor.

Con las cuentas creadas. Se debe crear un archivo llamado SecureConstants.swift dentro del proyecto descargado.

App Constants in Xcode

En este archivo se debe introducir el identificador que provee AWS y la llave de Google Cloud:

//
//  SecureConstants.swift
//  Vhista
//
//  Created by David Cruz on 5/19/18.
//  Copyright © 2018 juandavidcruz. All rights reserved.
//

import Foundation

let AWSPoolID = "YOUR_AWS_POOL_ID"
let AppleReceiptValidatorSecret = ""
let GoogleAPIKey = "YOUR_GOOGLE_API_KEY"

La llave de Apple, es solo si se desea tener subscripción en el servicio, y eso no se hace parte de la compilación del proyecto. Es independiente a cada caso y uso de este código fuente.

EXISTEN VULNERABILIDADES SI SE COMPARTEN LAS LLAVES ANTES MENCIONADAS, MANTENERLAS EN SECRETO. PRONTO SE ACTUALIZARÁ ESTA SECCIÓN CON MÉTODOS MÁS SEGUROS DE CONECTARSE CON GOOGLE & AMAZON

Recordar agregar el archivo de GoogleService-Info.plist antes de seguir con la compilación del proyecto:

Google PLIST in Xcode

Compilar el Proyecto

Con todos los archivos y todas las llaves presentes (Sin necesitar la de Apple para compilar). Correr el proyecto!

En caso de necesitar actualizar librerias o necesitar reinstalarlas. Seguir los pasos propuestos por Cocoapods:

Si aun no se tiene Cocoapods instalado en el Mac. Abrir Terminal y ejecutar:

sudo gem install cocoapods

Al instalar Cocoapods, desde terminal dirigirse a la carpeta donde esta el proyecto y especificamente donde se encuentra el archivo Podfile. Para agilizar este proceso, encontrar la carpeta con Finder e introducir en Terminal: cd, agregar un espacio y arrastrar la carpeta a la Terminal. Dar Enter.

Estando allí, si se quieren reinstalar las dependencias ejecutar el comando:

pod install

En caso de querer actualizar las librerias a la última versión ejecutar:

pod update

ACTUALIZAR LAS DEPENDENCIAS PUEDE REQUERIR MODIFICACIÓN EN EL CÓDIGO FUENTE PARA QUE COMPILE