Cómo crear accesos directos en el desarrollo de iOS
1. Aplicación de puntos técnicos básicos
Lenguaje Java Script
Modo URI de datos
Conocimientos básicos de sockets
Codificación Base64
2. Principios básicos
Cree un sitio web simple dentro del programa, llame a Safari a través de este sitio web y el sitio web devolverá una página HTML personalizada a Safari. En este punto, utilice la función "Agregar a la pantalla de inicio" de Safari para convertir el HTML personalizado en un marcador de escritorio. Cuando el usuario hace clic en el icono del escritorio, ejecutará Javascript personalizado para saltar a la aplicación.
En tercer lugar, ¿qué es un esquema de URI de datos?
Supongamos que tienes la siguiente imagen:
Respuesta. png
La forma estándar de mostrarlo en una página web es:
Este método de obtener datos se denomina esquema URI http y el mismo efecto se puede escribir como: p>
En otras palabras, construimos el contenido del archivo de imagen en un archivo HTML, guardando una solicitud HTTP.
Una de las tareas más importantes de la optimización de una página web es reducir el número de solicitudes http, como fusionar varios archivos JS y archivos de estilo CSS. También existe una tecnología secreta de URL de datos, que nos permite incrustar directamente el contenido de la imagen en la página web. El nombre oficial de esta técnica secreta es patrón URI de datos.
Sintaxis del esquema URI de datos
Analicemos la sintaxis de esta etiqueta img:
Contiene las siguientes partes:
Datos – El nombre del protocolo del que obtener datos.
imagen/png – nombre del tipo de datos.
base64 – método de codificación de datos
ifbor... – codificación de datos
: , ; – delimitador especificado por el esquema de uri de datos
4. ¿Qué es la codificación Base64?
En pocas palabras, consiste en traducir algunos datos de 8 bits a caracteres ASCII estándar. Hay muchas herramientas gratuitas de codificación y decodificación base64 en Internet.
5. Conocimientos básicos de sockets
Rellénelo usted mismo. Aquí utilizo Cocoa HttpServer, un excelente marco de terceros para HttpServer en iOS.
Implementación de verbos intransitivos
Una vez introducidos los conocimientos básicos anteriores, comencemos a codificar.
El código para iOS es muy sencillo. Podemos usar CocoaHttpServer para crear un sitio local.
Evento de clic
-(Acción) operación: (id) remitente
{
[DD log add logger: [ddtty instancia compartida del registrador]];
_ http server =[[http server alloc]init];
[_httpServer setType:@"_http._tcp.
];
ns string * Ruta web =[[paquete ns paquete principal]ruta del recurso]stringByAppendingPathComponent:@ " Web "];
DDLogInfo(@"Establecer directorio raíz del documento:% @", ruta web);
[_ servidor http setDocumentRoot:ruta web];
[servidor de inicio automático];
}
Crear HttpServer
- (void)startServer
{
//Inicia el servidor (y comprueba si hay problemas)
NSError *Error ;
if([_ inicio del servidor http:& Error])
{
DDLogInfo(@"El servidor HTTP se inició en el puerto %hu " , [_httpServer listeningPort]).
//Abre la URL.
ns string * urlStrWithPort =[ns string string con formato:@ " http://localhost:% d ", [_ puerto de escucha del servidor http]]; aplicación aplicación compartida]openURL:[NSURL URL withstring:urlStrWithPort]];
}
Otro
{
DDLogError(@" Error al iniciar el servidor HTTP: %@", error);
}
}
Está bien. El código principal está aquí...
Crea un archivo index.html con el siguiente contenido:
¿Qué quieres decir?
La página se actualizará periódicamente. Si se agrega una URL, será redirigida a la página web especificada. El contenido va seguido del tiempo (en segundos). Agregue esta oración a la página web especificada, generalmente se usa para aplicaciones en tiempo real y debe actualizarse periódicamente.
Este archivo se coloca en el directorio WEB de la carpeta. Recuerde que este archivo es una carpeta física en el proyecto y la carpeta hace referencia a ella.
A continuación, crearemos otro archivo content.html, pero este archivo no se colocará en la carpeta WEB, sino que se convertirá donde se coloca el patrón URI de datos y se redirigirá a la página web especificada.
El siguiente es el contenido de mi archivo content.html de demostración:
Creo que los estudiantes que hayan realizado algún desarrollo front-end entenderán lo que significa. Déjame decirlo aquí.
La metaetiqueta anterior se utiliza en realidad para establecer estilos. Para obtener más detalles, consulte la introducción a esta parte en la documentación oficial de Apple.
El siguiente enlace es el icono de inicio del acceso directo. Esta imagen está codificada en Base64.
El título a continuación es el nombre del acceso directo.
A continuación, el hipervínculo en la etiqueta del cuerpo es el esquema de URL que demostré. Puede saltar a nuestra aplicación a través del esquema de URL. La etiqueta span a continuación se usa como marcador de posición y usamos código JS para controlar su contenido de visualización.
El propósito de este código JS es detectar si la aplicación web iOS se está ejecutando en modo de pantalla completa.
El navegador Safari en iOS puede hacer que las aplicaciones web se muestren en pantalla completa, logrando así un efecto de visualización similar al de las aplicaciones locales. Pero esto requiere que los usuarios agreguen el ícono de la aplicación web a su pantalla de inicio. Como desarrolladores, para obtener mejores efectos de visualización, es posible que deseemos solicitar al usuario que agregue el ícono de la aplicación web a la pantalla de inicio cuando la aplicación web que desarrollamos se ejecuta en un estado que no es de pantalla completa.
Para detectar si una aplicación web se está ejecutando actualmente en pantalla completa, simplemente verifique si window.navigator.standalone es verdadero. Si esta propiedad es verdadera, significa que la aplicación web se está ejecutando actualmente en estado de pantalla completa; de lo contrario, se está ejecutando en estado de pantalla no completa. Cuando se detecta que la aplicación web se está ejecutando en un estado que no es de pantalla completa, se le puede solicitar al usuario que agregue el ícono de la aplicación web a la pantalla de inicio.
Finalmente, el código de content.html se convierte en un patrón de URI de datos a través de este sitio web y se coloca en index.html, y está completo.