Utilice HTML (Web) para desarrollar aplicaciones iOS/iPhone/iPad

Mucha gente quiere desarrollar su propia aplicación para iOS, ¿verdad? Existen varios métodos para desarrollar aplicaciones de iOS. Uno es el método "formal", que es Xcode+ObjC. Pero esto requiere tanto aprender el lenguaje ObjC como configurar un entorno de desarrollo Xcode. Una vez hecho todo, ¡todavía es muy difícil ejecutar la aplicación en tu iPhone/iPad!

Sin embargo, el navegador Safari proporciona una función que consiste en agregar una página web al escritorio y ejecutarla como una aplicación independiente. ¡Sería genial tener esta característica! Podemos utilizar directamente el lenguaje web (HTML+CSS+JS) para desarrollar aplicaciones iOS, lo cual es muy simple.

1. Configuración del entorno

1. Instalar el entorno Linux

Para escribir aplicaciones para la web, primero necesitamos ejecutar un servicio web. Hay dos métodos para este paso.

El primero: busque un servidor/computadora y ejecute el servicio web en él. Este método es posible, pero requiere un servidor con una IP pública (de lo contrario no podrás acceder a tu App desde el exterior). Sin embargo, este método puede "instalar" su aplicación para otros. Este artículo no utiliza este método.

El segundo: ejecutar el servicio web en el iPad. Este método no requiere una IP pública, pero solo puedes usar tu propia App. Este artículo utiliza este enfoque.

iOS no permite que las aplicaciones accedan a la capa subyacente, por lo que los servicios web no se pueden ejecutar directamente en iOS, aunque iOS esté basado en Linux. Pero primero podemos instalar el entorno Linux y luego instalar el servicio web en el entorno Linux.

¿Cómo instalar el entorno Linux?

De hecho, sólo necesitas instalar una aplicación llamada iSH en la App Store.

Una vez completada la instalación, abra la aplicación y obtendrá un Shell de Linux.

2. Instale algunas herramientas

iSH es compatible con el administrador de paquetes apk. Podemos instalar el paquete usando el siguiente comando:

apk add 软件包名

Instalemos el software que usaremos hoy:

apk add vim python3

Tenga en cuenta que al instalar el paquete de software, mantenga la aplicación abierta; de lo contrario, la instalación puede fallar.

3. Inicie el servicio web

Quizás te preguntes: ¿Por qué instalar python3? ¿No utilizas el desarrollo web?

De hecho, hoy vamos a utilizar el servicio HTTP simple que viene con python3.

Primero cree un nuevo directorio como directorio raíz del servicio web:

mkdir www
cd www

Luego inicie el servicio HTTP con Python3:

python3 -m http.server 80

python3 utilizará el directorio actual como directorio raíz del sitio web. 80 es el número de puerto.

¿Por qué no utilizar Nginx/Apache?

iSH está implementado en base a Alpine Linux. Alpine Linux es un sistema Linux más pequeño y, por lo tanto, menos funcional. Si ejecuta Nginx en iSH, no podrá acceder a él. No he probado Apache. Pero para desarrollar algunas aplicaciones pequeñas, no se necesita un servidor web tan potente.

4. Operación estable

Python3 no es muy estable. A veces, encontrará que el servidor web sale con un error.

Para hacerlo estable, hay una manera muy simple: agregue un bucle while true directamente, de modo que se reinicie automáticamente después de que salga automáticamente.

while true; do python3 -m http.server 80 > /dev/null 2> /dev/null; done &

Dado que http.server generará automáticamente la solicitud HTTP recibida, para evitar que se genere, agregue > /dev/null 2 ​​​​> /dev/null después del comando. Para que se ejecute en segundo plano sin afectar la terminal, agregue un & después del comando.

5.Inicie automáticamente después del encendido

Si cierra la aplicación iSH (ingrese el comando de salida en la terminal, o presione el botón de inicio dos veces y luego cierre iSH, o reinicie el iPhone/iPad), y luego la abre, el servidor web no se ejecutará. Para que funcione durante mucho tiempo, debe iniciarse automáticamente al arrancar (es decir, se ejecutará automáticamente cuando se abra iSH).

¿Cómo hacerlo?

De hecho, sólo necesitas editar el archivo /etc/profile:

vim /etc/profile

Agregue estas tres líneas de código al final:

cd /root/www
while true; do python3 -m http.server 80 > /dev/null 2> /dev/null; done &
cd ~

Los comandos en /etc/profile se ejecutarán automáticamente al arrancar.

Una vez completada la modificación, ingrese salir y iSH saldrá automáticamente. Vuelva a abrir la aplicación y el servidor web se ejecutará automáticamente.

6. Ejecutándose en segundo plano

Si su iPhone/iPad tiene otras aplicaciones abiertas, no podrá conectarse al servidor web después de 30 segundos. Esto se debe a que iOS pone iSH en segundo plano cuando abres otras aplicaciones. La eliminación en segundo plano de iOS es muy poderosa: cuando iSH se ejecuta en segundo plano durante 30 segundos, iOS lo suspenderá.

¿qué hacer?

O modifique /etc/profile y agregue una línea de código al final:

cat /dev/location > /dev/null &

Luego ingrese salir y luego vuelva a abrir iSH.

iSH le pedirá permiso para obtener la ubicación. ¡Asegúrese de seleccionar "Permitir siempre"! (Si no tiene esta opción, configúrela en "Permitir siempre" en Configuración->Privacidad->Ubicación)

Esto permitirá que se ejecute en segundo plano.

¿Qué significa cat /dev/ubicación?

/dev/location es un archivo de dispositivo que viene con iSH y que indica la ubicación geográfica actual. Si ejecuta cat /dev/location, generará la latitud y longitud.

¿Por qué esto funciona en segundo plano?

Porque si hay una aplicación que constantemente obtiene la ubicación, iOS permitirá que se ejecute en segundo plano.

Supongo que te gusta

Origin blog.csdn.net/nnKevi/article/details/128491667
Recomendado
Clasificación