Además del desarrollo de características y la corrección de errores, los desarrolladores de iOS deben mantener un registro de lo que se anuncia anualmente en WWDC. En medio de los notables nuevos SDK anunciados, hay algunos cambios que los desarrolladores de iOS deberán implementar para que sus aplicaciones sean compatibles con la plataforma..
Como Swift ha evolucionado a la versión 4, junto con las mejoras y los cambios que vienen al iOS SDK, los desarrolladores deben analizar los cambios y diseñar una estrategia para actualizar sus bases de código. ¡Todo sin romper ninguna de sus características y funcionalidades existentes! Todo se reduce a la priorización de su proyecto: ¿qué es lo mínimo que debe hacer para que su aplicación sea compatible con iOS 11? ¿Cuál es el caso más fácil que puede presentarle a su parte interesada o gerente de proyecto??
Las funciones vitales son lo primero, y luego vienen las mejoras agradables pero no requeridas que trae iOS 11, desde la optimización de su aplicación hasta la estética visual que enriquecerá aún más la interacción y la funcionalidad de su aplicación. Con esto en mente, este tutorial lo guiará a través de los pasos a seguir para actualizar su aplicación, tomando un enfoque pragmático de las mejoras requeridas y opcionales..
Este artículo le proporcionará una descripción general de los cambios que se requerirán para actualizar su aplicación para iOS 11, desde la arquitectura hasta los cambios visuales, así como los cambios de publicación en la App Store. Además, este tutorial organizará las secciones a partir de los cambios necesarios requeridos y el alcance y el esfuerzo requeridos, hasta las características agradables pero no necesarias que mejorarán su aplicación como resultado de iOS 11.
En este tutorial estaremos cubriendo lo siguiente:
Este tutorial asume un conocimiento intermedio de Swift o Objective-C y Xcode, así como la familiaridad con los SDK de iOS principales (por ejemplo, UIKit y Core Foundation).
Al igual que con cada iteración de iOS, los cambios más importantes suelen ser los arquitectónicos. Con iOS 11, esto implica migrar a Swift 4, por lo que actualizar la configuración de compilación para Xcode 9 será la primera tarea que veremos.
Importante | Necesario
Para aquellos que tuvieron que migrar de Swift 2 a 3 el año pasado, ese proceso fue extremadamente doloroso y muchos de los cambios rompieron la base de código existente. Afortunadamente, este no es el caso al pasar de Swift 3.2 a 4, ya que la mayoría de las posibilidades se consideran aditivas, en lugar de desaprobar, y como resultado, la herramienta de migración Xcode 9 realiza un trabajo admirable de transición de su código a la última versión de Swift.
Además, a diferencia de las versiones anteriores, no se verá obligado a hacer la actualización a 4 de una vez. Es decir, los proyectos de Xcode admiten simultáneamente Swift 4 y Swift 3.2, lo que significa que puede tener un objetivo en su proyecto compilado bajo Swift 3.2 y otro compilar en Swift 4. La herramienta de migración le permitirá saber qué clases y funciones migró con éxito y cuáles requerirán su intervención manual para resolver, en forma de errores o advertencias.
Los errores significan que tendrá que corregir algo que no es compatible con versiones anteriores, mientras que muchas de las advertencias indicarán que hay una nueva forma en Swift 4 de hacer algo, como los nuevos cambios de API. Corrija los errores y priorice las advertencias antes mencionadas como una tarea separada.
Para acceder a la herramienta de migración, vaya a Editar> Convertir> A la sintaxis Swift actual en Xcode, y siga las indicaciones, seleccionando los destinos que desea migrar en esta etapa.
La herramienta de migración le permitirá saber el trabajo mínimo que deberá realizar para volver a compilar su aplicación, por lo que no debe sorprender que la mejor práctica recomendada sea trabajar en la migración de la aplicación de 3 a 4 de manera incremental, especialmente En grandes proyectos, pruebas y conversión de objetivo por objetivo. No tendrá que migrar todo a la vez, y puede planificar su ruta de migración por etapas, donde y cuando sea necesario.
A continuación, veremos rápidamente cuáles son los cambios en Swift 4 que no son de implementación obligatoria, pero es bueno saber.
Importante | Necesario
Otro cambio importante en iOS 11 es que todas las aplicaciones en la App Store ahora tienen que ser de 64 bits, ya que las aplicaciones de 32 bits ya no son compatibles y, de hecho, ni siquiera funcionan en dispositivos con iOS 11. No debería ser una sorpresa, ya que Apple ha estado advirtiendo a los desarrolladores durante bastante tiempo, pero en caso de que su aplicación aún no haya hecho su transición, puede seguir las pautas de Apple sobre cómo convertir su aplicación a un binario de 64 bits..
No es importante | Opcional
Más allá del trabajo obligatorio necesario para que su objetivo sea compatible con Swift 4, tiene la opción de refactorizar su código existente para aprovechar los nuevos cambios en la API de Swift, que se desglosan de acuerdo con las siguientes mejoras a nivel de API:
String ha recibido mucha atención en Swift 4, y el cambio más notable es una reversión a Swift 1.0, donde las Strings se definen nuevamente como colecciones, por lo que puede iterar sobre un objeto String carácter por carácter (SE-0163) usando una en bucle. Otros cambios notables en la clase Strings incluyen:
UnicodeScalars
propiedad a Personaje
Los diccionarios y conjuntos, como parte de las colecciones, también se han renovado en Swift 4, comenzando con el filtrado de diccionarios, que hasta ahora devolvía una matriz de tuplas que consistía en pares clave / valor. Para acceder a un elemento específico, usaría el siguiente subíndice, como en una matriz:
listOfCars [4] .value
En Swift 4, recuperas un diccionario en su lugar, lo que proporciona una sintaxis más consistente y, posteriormente, accedes al diccionario devuelto como lo harías con un diccionario normal. Lo mismo ocurre ahora para el mapa()
Función, donde también recuperas un diccionario. Nuevo en los subíndices de acceso al diccionario, puede proporcionar un valor predeterminado en caso de que la clave no exista, haciendo que su código sea más seguro.
Deje que tomTheCat = animal ["nombre", por defecto: "id"]
El resto de los cambios para colecciones incluyen:
MutableCollection.swapAt (_: _ :)
Finalmente, hay algunos cambios varios que vale la pena mencionar como parte de esta versión que pertenecen al lenguaje:
Puede encontrar la lista exhaustiva de cambios y propuestas originales en Swift.org.
Los usuarios de iOS 11 de la App Store ya se habrían dado cuenta de que está luciendo un diseño completamente nuevo con secciones completamente nuevas, lo que les brinda a los desarrolladores nuevas formas de promocionar sus aplicaciones y comunicarse con sus usuarios..
Comenzaremos echando un vistazo al nuevo ícono de marketing que ahora deberá cargar con las actualizaciones de su aplicación..
Obligatorio | Mayor prioridad
A partir de iOS 11, para cualquier envío nuevo, ya sea que su aplicación sea nueva o una ya existente, deberá incluir un icon-1024.png-Un icono de marketing de tamaño 1024x1024. Convenientemente, no necesitará enviar el icono a través de iTunes Connect, sino a través de Xcode, porcaminante a Images.xcassets y agregando la imagen del tamaño adecuado, de la misma manera que administra sus otros íconos:
El ícono de mercadeo se usa como parte del nuevo proceso de diseño de la App Store, para mostrar un ícono de imagen más grande que representa su aplicación en la sección Hoy, u otras secciones donde se amplía el gráfico de la aplicación..
Opcional | Prioridad más baja
Apple ha hecho que el proceso de compras en la aplicación sea más prominente y transparente, permitiendo a los usuarios ver todas las opciones de compra en la aplicación directamente a través del mismo nivel que la pantalla del producto de la aplicación y, de hecho, incluso iniciar una compra en la aplicación para el aplicación mientras se descarga la aplicación real. Piense en una aplicación de suscripción en la que los usuarios que la descarguen ya quieran comprar su suscripción. iOS 11 hace que esto sea más rápido y conveniente..
A partir de iOS 11, los desarrolladores pueden promover hasta 20 compras dentro de la aplicación, como suscripciones, en la página de producto de su aplicación. Estas opciones de compra también aparecerán en los resultados de búsqueda..
Promover las compras dentro de la aplicación también puede alentar la descarga de su aplicación. Cuando un usuario no tiene su aplicación instalada pero desea comprar una compra promovida dentro de la aplicación, recibirá un aviso para descargar la aplicación primero. Una vez que se descarga la aplicación, la transacción continuará en la aplicación. (Manzana)
Para habilitar una mayor visibilidad de la promoción de compra en la aplicación, en iTunes Connect deberá incluir los siguientes metadatos:
Para obtener más información sobre la promoción de su compra en la aplicación, consulte Directrices oficiales de Apple. así como de Apple Pautas de la página del producto.
Opcional | Prioridad más baja
Algo que definitivamente hace mucho tiempo, y que los desarrolladores de Android han disfrutado durante bastante tiempo, es la capacidad de responder directamente a los comentarios de los usuarios. A partir de iOS 11, los desarrolladores ahora también pueden responder directamente a las opiniones y comentarios de sus usuarios. Si bien esto no requiere ningún cambio técnico y la participación es opcional, los desarrolladores a través de iTunes Connect (Aplicación > Actividad > Calificaciones) Puede responder tanto a la alabanza como a la crítica..
Las respuestas individualizadas de los desarrolladores pueden aprovecharse para construir relaciones más sólidas e íntimas, fomentando un compromiso más profundo, al mostrar que sus comentarios se están revisando y respondiendo, y los problemas que plantearon se están escuchando activamente. Para responder a los comentarios, simplemente vaya a iTunes Connect donde puede ver los comentarios y responder individualmente.
Además de la nueva función de comentarios para desarrolladores, Apple también ha proporcionado un nuevo SDK formalizado para que los usuarios califiquen y revisen las aplicaciones. El nuevo SKStoreReviewController
se debe usar en lugar de un tercero o una solicitud manual de los usuarios para que realicen revisiones, ya que Apple desea que el sistema operativo pueda controlar la frecuencia de las solicitudes y su aspecto visual. Por lo tanto, Apple limitará las indicaciones a no más de tres veces en un período de 365 días..
Para implementar SKStoreReviewController
, simplemente importa StoreKit y llama requestReview ()
Como se muestra abajo:
... importar StoreKit ... SKStoreReviewController.requestReview () ...
Si bien Apple no ha prohibido por completo los otros métodos para solicitar comentarios a los usuarios, espera que esto cambie en un futuro próximo, por lo que es mejor que empieces a pensar en implementar el motor de revisión rápida de Apple durante el próximo año..
Consulte las pautas de calificaciones, comentarios y respuestas de Apple para obtener más información..
Opcional | Prioridad más baja
Otra característica muy útil que iOS 11 brinda a los desarrolladores es la capacidad de lanzar sus aplicaciones a los usuarios de manera incremental. Apple llama a esta liberación por fases, y su objetivo es reducir el riesgo de sobrecargar el entorno de producción de una sola vez, en lugar de implementar las actualizaciones de la versión en un período de siete días..
Debajo Versión de lanzamiento En iTunes Connect, hay una nueva sección llamada Lanzamiento por fases para actualizaciones automáticas, lo que le da la opción de liberar inmediatamente o durante un período de siete días. Los desarrolladores también pueden detener el despliegue por fases durante un máximo de 30 días, lo que normalmente ocurre si se descubre e informa un problema importante..
La implementación en fases no impide que los usuarios obtengan la actualización manualmente desde la App Store, sino que está dirigida a los usuarios que usan la configuración de descarga automática de iOS en la App Store..
A continuación, echemos un vistazo a los cambios visuales que se introdujeron como parte de iOS 11, a medida que analizamos los temas importantes y los menos importantes..
Después de observar los cambios arquitectónicos y de la tienda de aplicaciones que publican para iOS 11, ahora estamos listos para analizar los cambios visuales y ayudarlo a priorizar qué cambios de la interfaz de usuario deben abordarse primero..
Es importante destacar que, aunque ciertamente podemos construir nuestras aplicaciones iOS sin implementar ninguno de los cambios en esta sección, abordando solo los cambios arquitectónicos y de la App Store, es posible que primero desee asegurarse de que su aplicación admita visualmente el nuevo iPhone X. Esto significa cambios en el barras de navegación para abordar la nueva "muesca" física en la parte superior.
Teniendo esto en cuenta, veremos cómo actualizar su interfaz de usuario para el iPhone X primero, seguidos de otros cambios rápidos que asegurarán que su aplicación se vea moderna y actualizada..
Obligatorio | Mayor prioridad
Una de las tareas más importantes para actualizar su aplicación iOS es asegurarse de que su aplicación se vea bien y funcione bien en los dispositivos más nuevos, sin interrumpir la compatibilidad con su dispositivo anterior. Es por eso que Apple ha trabajado arduamente para proporcionar a los desarrolladores herramientas como Auto Layout para diseñar diseños de pantalla sin distinción, ya sea el iPhone 4, 5C o el 6 y 6 Plus. A partir de este año, ahora tenemos un teléfono que no solo tiene nuevas dimensiones, sino que también tiene una muesca física en la parte superior.
Tenga en cuenta que ya no tenemos una ventana gráfica rectangular y que con la nueva muesca en la parte superior de los sensores físicos, ¿cómo recomienda Apple que se ocupe de eso? Por un lado, Apple no quiere que coloques barras negras en la parte superior para ocultar la muesca. En cambio, abogan por que los desarrolladores lo adopten.
No enmascare ni preste especial atención a las características clave de la pantalla. No intente ocultar las esquinas redondeadas, la carcasa del sensor o el indicador del dispositivo para acceder a la pantalla de inicio colocando barras negras en la parte superior e inferior de la pantalla. Tampoco use adornos visuales como corchetes, biseles, formas o texto instructivo para llamar la atención especial sobre estas áreas. (Pautas de interfaz humana de iOS)
Deberá diseñar para la experiencia de pantalla completa, aprovechando el diseño sin bisel del nuevo dispositivo sin ocultar partes de su interfaz de usuario con las esquinas redondeadas del dispositivo o la carcasa del sensor (muesca).
La buena noticia es que los elementos de UI provistos por el sistema de Apple de UIKit como el UINavigationBar
Ya se ajustan y se adaptan a los nuevos requisitos de diseño fuera de la caja. Sin embargo, para cualquier elemento UI personalizado, deberá realizar el trabajo de conformidad usted mismo..
Al observar las imágenes del iPhone 4.7 en comparación con el nuevo iPhone X anterior, notará cómo la barra de estado ahora se implementa de manera diferente, comenzando con su altura, que ha crecido desde el histórico 20 pt a 44 pt en el iPhone X.
Apple sugiere que los desarrolladores de aplicaciones que han estado ocultando sus barras de estado deberían reconsiderar esa decisión a la luz del iPhone X y solo ocultarlo en modo horizontal, no en modo retrato.
Finalmente, haga uso de las Guías de diseño de área segura utilizando Auto Layouts como su medida principal para asegurarse de que su aplicación se ajuste a sus márgenes apropiados, garantizando que no haya obstrucciones visuales, como la superposición de la barra de estado o la barra de navegación.
Dos excelentes recursos para ayudarlo a comenzar a diseñar para el iPhone X son los siguientes videos de la WWDC:
Opcional | Prioridad más baja
Uno de los nuevos SDK más comentados en la WWDC de este año es arrastrar y soltar. Esto es algo a lo que los usuarios de computadoras de escritorio se han acostumbrado durante mucho tiempo, pero su ausencia en la plataforma iOS hace que el iPad y el iPhone nunca hayan adoptado realmente la multitarea. En iOS 11, esto ha cambiado, ya que el nuevo iOS admitirá que los elementos de la interfaz de usuario se arrastren no solo dentro de la misma pantalla, sino de una aplicación a otra..
Al aprovechar el motor multitáctil de iOS, los usuarios pueden mover contenido sin esfuerzo de forma natural entre aplicaciones en el iPad (o solo dentro de la misma pantalla en el iPhone) al presionar y mantener presionada una imagen, archivo, texto o elemento de IU específico para arrastrar eso. Esto ya está integrado en todo el sistema en iOS, lo que permite a los usuarios, por ejemplo, arrastrar texto de Safari a la aplicación Reminders de la base para crear un nuevo elemento de recordatorio..
Esto no se ha marcado como obligatorio para la implementación, pero debido a que se convertirá rápidamente en un comportamiento esperado debido a su prevalencia en todo el sistema, se sugiere que intente priorizar esto más temprano que tarde, para poder realizar la experiencia de usuario de su aplicación. Se ajustan al nuevo comportamiento estándar del sistema UX..
UIKit viene con algún nivel de soporte para arrastrar y soltar incorporado, para componentes como UITables
y UICollectionViews
, pero necesitará unir y adaptar los elementos con código para que otros componentes puedan recibir el componente arrastrado. Esto puede ser un tanto complicado, y está fuera del alcance de este artículo, pero cubriré el soporte de arrastrar y soltar más completamente en una publicación de seguimiento la próxima semana.
Por ahora, brevemente, agregará y admitirá arrastrar y soltar en su ViewController
es viewDidLoad ()
Método, mediante la implementación de los dos delegados que se muestran a continuación:
clase ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate, UITableViewDropDelegate, UITableViewDragDelegate … func viewDidLoad () charla) por el cual nos encontramos. firstTableView.dropDelegate = self secondTableView.dragDelegate = self firstTableView.dragInteractionEnabled = true secondTableView.dragInteractionEnabled = true ...… func tableView (_ tableView) en la que se encuentra una tabla de información en la tabla de información: 1) Se está iniciando el arrastre func tableView (_ tableView: UITableView, performDropWith coordinator: UITableViewDropCoordinator) // (2) Drop se está iniciando
Manténgase atento a nuestro próximo artículo sobre cómo agregar soporte para arrastrar y soltar a su aplicación iOS 11.
Opcional | Prioridad más baja
Finalmente, echemos un vistazo a los cambios restantes de UIKit en iOS 11, comenzando con el UINavigationBar
, que tiene algunas mejoras notables, incluyendo la integración de SearchViewController
y grandes títulos. Luego echamos un vistazo a las mejoras a UITableView
, desde las nuevas y mejoradas acciones de deslizamiento hasta las celdas de vista de tabla de auto-dimensionamiento automático.
Ya mencionamos anteriormente las barras de navegación cuando discutimos el iPhone X y cómo se alinea con las nuevas dimensiones de la barra de estado. Además de eso, el nuevo estilo de diseño contemporáneo por el que aboga iOS incluye nuevos títulos más grandes en las barras de navegación, vistos por primera vez en la aplicación Apple Music en iOS 10 y desde entonces un patrón de diseño establecido en todas las demás aplicaciones del sistema en iOS.
El texto del título más grande proporciona mayor énfasis en el contexto de la pantalla en una barra de navegación y ayuda a orientar a los usuarios en cuanto a la pestaña activa mientras navega por las distintas pestañas. El tamaño del texto del título no es estático sino que se reduce a medida que el usuario se desplaza hacia abajo, volviendo al estilo pre-iOS 11. A la inversa, cuando se desplaza hacia abajo en una vista de desplazamiento, el texto del título aumentará ligeramente.
Use un título grande cuando necesite proporcionar énfasis adicional en el contexto. En algunas aplicaciones, el texto grande y en negrita de un título grande puede ayudar a orientar a las personas mientras navegan y buscan. En un diseño con pestañas, por ejemplo, los títulos grandes pueden ayudar a aclarar la pestaña activa e informar al usuario cuando se han desplazado hacia la parte superior. El teléfono utiliza este enfoque, mientras que la música utiliza títulos grandes para diferenciar áreas de contenido como álbumes, artistas, listas de reproducción y radio. Un título grande hace la transición a un título estándar cuando el usuario comienza a desplazar el contenido. Los títulos grandes no tienen sentido en todas las aplicaciones y nunca deben competir con el contenido. Aunque la aplicación Reloj tiene un diseño con pestañas, los títulos grandes no son necesarios porque cada pestaña tiene un diseño distinto y reconocible. (Pautas de interfaz humana de iOS)
Como desarrollador, depende de usted decidir cuándo y cuándo implementar el estilo de texto grande, según las Directrices de Interfaz Humana de Apple, y Apple recomienda que use los títulos de texto grandes solo para las pantallas de navegación de nivel superior en lugar de en todos los niveles. Para habilitar texto grande, simplemente agregue la siguiente propiedad a su UINavigationController
:
navigationController? .navigationBar.prefersLargeTitles = true
Jerárquicamente, los controladores de vista principal y de detalle debajo de la barra de navegación tendrán el modo de texto grande habilitado de forma predeterminada debido a la herencia principal, y como se acaba de mencionar, es recomendable que las pantallas de navegación de nivel superior implementen el modo de texto grande. Para suprimir la herencia de texto grande en su pantalla de detalles, vaya a su controlador de vista y agregue lo siguiente a su inicializador (debe configurarse en el momento de la inicialización):
requerido init? (coder aDecoder: NSCoder) super.init (coder: aDecoder) navigationItem.largeTitleDisplayMode = .never
los largeTitleDisplayMode
lo anterior se está configurando para .Nunca
. Sin esa línea, el valor predeterminado es .automático
, que es donde el controlador de vista de detalle hereda las propiedades de su controlador de vista principal.
La búsqueda ahora se puede integrar directamente en las barras de navegación sin necesidad de asociar la UISearchViewController
instancia con el controlador de vista de asunto (y su vista de encabezado de tabla) por separado. A partir de iOS 11, puede incrustar con elegancia la barra de búsqueda en la barra de navegación:
navigationItem.searchController = UISearchController (searchResultsController: nil)
También necesitarás cumplir con UISearchResultsUpdating
para reaccionar a los términos de búsqueda, por supuesto. Mientras que iOS oculta automáticamente la barra de búsqueda en función del número de filas en su vista de tabla, puede forzar que la barra de búsqueda esté visible en todo momento al alternar:
navigationItem.hidesSearchBarWhenScrolling = false
Finalmente, echamos un vistazo a dos características nuevas y distinguidas introducidas en UITableViews
a partir de iOS 11: auto-dimensionamiento y mejores acciones de deslizamiento. El auto-dimensionamiento se introdujo en iOS 8 para aliviar la carga de los desarrolladores que tienen que dimensionar manualmente las celdas de vista de tabla, con la capacidad de dimensionar dinámicamente las celdas para que se ajusten al contenido de la fila usando Auto Layout. Hasta ahora, tenías que solicitar explícitamente el tamaño automático usando:
tableView.rowHeight = UITableViewAutomaticDimension tableView.estimatedRowHeight = 100
A partir de iOS 11, está activado y configurado de forma predeterminada sin código adicional, pero aún tiene la capacidad de especificar su propio alto de fila explícitamente, según sea necesario. iOS 11 también ha traído nuevas acciones de barrido de arrastre y de avance, prevalecientes en muchas aplicaciones del sistema, como la propia aplicación de correo de Apple..
Además de poder deslizar hacia la izquierda o hacia la derecha, también puede adjuntar imágenes para asociarlas con estas acciones. Implementas dos métodos de delegado como parte de la UIContextualAction
, para acciones de arrastrar y arrastrar:
anular func tableView (_ tableView: UITableView, leadingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? let trash = UIContextualAction (style: .normal, title: "Delete") action, view, completedHandler in print ("Delete") completedHandler (true) delete.backgroundColor = UIColor.red delete.image = UIImage (llamado: "delete") permite que actionGroup = UISwipeActionsConfiguration (actions: [delete]) actionGroup.performsFirstActionWithFullSwipe = false return actionGroup ... anula la función de tabla de opiniones (_ tableView: UITableView, leadingSwipeAftionsConfigurationForRowAt indexPath). let archive = UIContextualAction (estilo: .normal, título: "Archive") action, view, completedHandler in print ("Read") completedHandler (true) archive.backgroundColor = blue archive.image = UIImage (llamado: "archive ") let move = UIContextualAction (estilo: .normal, título:" Move ") action, view, completedHandler in print (" Move ") completedHandler (true) move.backgroundColor = purple move.image = UIImage (llamado:" move ") permite que actionGroup = UISwipeActionsConfiguration (acciones: [archive, move]) actionGroup.performsFirstActionWithFullSwipe = false return actionGroup
Utilizando el código anterior, puede crear más de una acción contextual y agregarla a la UISwipeActionsConfiguration
instancia de agrupación, para más de una acción. Esta es una mejora simple pero atractiva para aportar una mayor elasticidad a sus vistas de mesa, con cambios mínimos de código y, aunque no es obligatorio, vale la pena asignarle algunas horas en su tablero de planificación de sprint..
En esta publicación, le proporcioné una descripción general de los cambios en la arquitectura, la App Store y los componentes visuales de iOS 11, brindándole una idea de lo que necesitará para actuar de inmediato y lo que se puede diferir hasta más adelante. hora. La migración a iOS 11 y Swift 4 será mucho más fácil que en las actualizaciones de los años anteriores.
Más allá de los cambios inminentes que deben realizarse, también hemos pasado por los cambios de Swift 4 que mejoran las cadenas y las colecciones, así como las mejoras visuales de UITableView
y el controlador de búsqueda. Esto debería facilitarle la planificación de su trabajo para actualizar su aplicación.!
Mantente al tanto de mi próxima publicación sobre la implementación de arrastrar y soltar para tus aplicaciones de iOS 11 y, mientras tanto, revisa algunas de nuestras otras publicaciones sobre nuevos cambios en iOS y Swift.!