English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Actualmente 7.3 Nunca ha sido actualizado, después de todo, me he dedicado a muchos complementos... Volvamos al tema principal, yo aún estoy usando Xcode 8Ha estado en el ojo de todos desde su lanzamiento, y hoy encontré un artículo que resume muy bien, lo reproduje a mano y lo organice una vez más, ¡gracias al autor original!
El texto original es el siguiente:
Xcode 8La versión oficial está en9Mes13Se envió a los desarrolladores para descargar, y también descargué el nuevo Xcode después de regresar de la Feria de Octubre. Después de descargarlo, aparecieron muchos errores de compilación, y los complementos anteriores ya no pueden usarse, pero descubrí que Xcode8Integró muchas funciones de complementos excelentes en sí mismo, y siento que esto también es bastante bueno.
Cada versión de Xcode trae muchas nuevas características, Xcode 8Tampoco es una excepción, estas nuevas características nos traerán conveniencias en el desarrollo, pero también muchas trampas. Por lo tanto, hoy planeo escribir un artículo para explicar en detalle Xcode8las nuevas características que nos trajo, los problemas que encontré y algunos problemas que tuve durante su uso, espero que puedan ayudar a otros amigos.
Xcode8 nuevas características
Interface Builder
con el progreso de14del iPhone del año6y6luego de que se lanzó el iPhone
en el iPhone6y6al mismo tiempo que Apple lanzó Xcode6en la versión de Auto Layout, se agregó la nueva característica Size Classes, que permite usar un archivo XIB o SB para adaptarse a diferentes tamaños de pantalla y a los dos dispositivos iPhone e iPad.
En Xcode8Apple lanzó una función de previsualización de edición visual más potente, que permite previsualizar el XIB o SB en diferentes tamaños de pantalla sin ejecutar la aplicación. (Recuerdo que esta función ya estaba en Xcode, pero estaba bastante oculta, y ahora Apple la ha sacado a la luz)
seleccionar un archivo XIB y hacer clic en la posición del cuadro rojo en la parte inferior, aparecerá desde3.5una serie de opciones de tamaños de pantalla. Haciendo clic en diferentes tamaños de pantalla y opciones de orientación horizontal y vertical, se puede cambiar a diferentes tipos de visualización de pantalla. En iPad también se puede elegir si dividir la pantalla, y las funciones son muy potentes.-5.5una serie de opciones de tamaños de pantalla. Haciendo clic en diferentes tamaños de pantalla y opciones de orientación horizontal y vertical, se puede cambiar a diferentes tipos de visualización de pantalla. En iPad también se puede elegir si dividir la pantalla, y las funciones son muy potentes.
Interface Builder
en la parte derecha hay una opción Vary for Traits, haciendo clic en esta opción se pueden mostrar todos los estilos de pantalla seleccionables al mismo tiempo, y las funciones son las mismas que en la imagen superior, solo que el aspecto es más abundante.
Interface Builder
otro punto, el tamaño de los controles XIB recién creados ya no es el anterior600*6no es un cuadrado de 00, sino que por defecto es6la forma rectangular del archivo XIB, se ve mucho mejor.
cambios en General de Target
En Xcode8antes, teníamos que configurar manualmente los certificados y archivos de descripción. En caso de que se produzcan errores en la configuración, también se puede hacer clic en Fix issue para corregir este error. Pero hay un problema en que la opción Fix issue no es tan útil, a veces, aunque la configuración es correcta, también se sugiere que se necesite Fix issue.
quizás Apple también se haya dado cuenta de la existencia de este problema, en Xcode8a través de la opción Gestionar la firma automáticamente, Apple se encarga de gestionar los certificados y archivos de configuración, y todos los ajustes también los realiza Apple. En Xcode8se crea un nuevo proyecto, esta opción está marcada por defecto.
Pero, ¿qué pasa si quiero gestionar manualmente la certificación y el archivo de descripción? Simplemente quite la opción de Gestionar automáticamente la firma.
Desde la imagen superior, podemos ver que Apple nos ayuda a gestionar automáticamente los certificados y archivos de configuración. Además, en proyectos anteriores, si queríamos establecer el nombre de la aplicación que se muestra en el teléfono después de la instalación, teníamos que modificar manualmente el campo Display Name en el archivo Info.plist, y ahora podemos hacerlo directamente en General, y esta modificación está sincronizada con Info.plist.
但是,如果我想自己管理证书和描述文件呢?只需要去掉Automatically manage signing选项。
Pero, ¿qué pasa si quiero gestionar manualmente la certificación y el archivo de descripción? Simplemente quite la opción de Gestionar automáticamente la firma.
Gestionar automáticamente la firma
Si se establece manualmente la certificación y el archivo de descripción en los Ajustes de Construcción, se descubrirá que la opción de Provisioning Profile está marcada como Obsoleta, es decir, Apple no recomienda configurar manualmente.
Actualizar Xcode8Complementos de Xcode8Después de lo cual se descubrirá que, en Xcode8También ha actualizado el compilador, añadiendo algunas funciones de complementos buenas a Xcode, como resaltado de línea individual.
En Xcode8Soporta proyectos de complementos de desarrollo y nos proporciona un plantilla de complemento, los complementos desarrollados se pueden subir a App Store para su descarga. Apple hace esto por una razón: anteriormente, Xcode y los complementos corrían en el mismo proceso, por lo que las fallas de los complementos también podrían causar la falla de Xcode. Ahora, Apple ejecuta los complementos como aplicaciones separadas, ejecutando procesos separados, sin afectar a Xcode.
Xcode Source Editor Extension
Runtime Issues
Durante el desarrollo, debido a errores de sintaxis o errores de código obvios (por ejemplo, ciclo de retención), el compilador puede encontrar y emitir advertencias amarillas o rojas. Pero algunos errores causados por la lógica del código, el compilador no puede encontrarlos. Por ejemplo, la siguiente línea de código, debido a problemas de lógica del código, dos arrays se refieren mutuamente y no pueden liberarse.
Ciclo de referencia de arrays
En este momento, se puede usar Xcode8Ofrece la nueva característica de Runtime Issues, que permite encontrar problemas que ocurren durante la ejecución y visualizar los problemas de manera gráfica para los desarrolladores.
Runtime Issues
Debug Memory Graph
En Xcode6Se ha añadido la nueva característica de Gráfico de Vistas en Debug, que permite depurar la jerarquía de vistas del App actual y encontrar bugs relacionados con la UI de manera muy conveniente. En Xcode8Apple ofrece la característica de Gráfico de Memoria en Debug a los desarrolladores, a través de esta nueva característica, se puede seleccionar directamente un objeto para ver las relaciones de memoria relacionadas.
Debug Memory Graph
El análisis del Gráfico de Memoria en Debug y los Problemas de Tiempo de Ejecución pueden usarse conjuntamente, después de completar el análisis de las relaciones de memoria en el Gráfico de Memoria en Debug, haciendo clic en Problemas de Tiempo de Ejecución se pueden ver los problemas de memoria encontrados.
Swift 3
Xcode8Swift3trae una nueva versión de Swift8La nueva versión de Swift ha cambiado mucho, si el proyecto de Swift anterior en Xcode
puede fallar en la compilación. Al respecto, Apple ha proporcionado una herramienta de migración de Swift para desarrolladores, se dice que no es muy útil (no he utilizado esta herramienta).3Si no desea migrar a Swift2.3,puede configurarse en Builder Settings, seleccione Use Legacy Swift Language Version y configurela como YES para continuar utilizando la versión anterior de Swift
。
Use Legacy Swift Language Version
Otras actualizaciones
Xcode nuevo tipo de fuente, SF Mono Regular. Después de actualizar Xcode, me gusta mucho este tipo de fuente, parece que el código está muy ordenado.8Ha integrado la función de resaltado, lo que facilita mucho su uso. Las líneas editadas se resaltan. Anteriormente, Xcode tenía un complemento con esta función, Xcode
La versión más reciente del API ha cambiado mucho en términos de estilo de presentación.
para generar documentación más fácilmente (escribió el VVDocumenter el gato místico), en Xcode8en donde puede colocar el cursor sobre el método y usar option + command + /Generación rápida de comentarios de documentación con teclas de acceso rápido.
Xcode 8Ajuste
Ajuste de XIB y Storeboard
En Xcode8Antes de eso, crear un archivo XIB o SB es un600*6un archivo XIB de cuadrado de 00. En Xcode8Después de eso, el archivo XIB creado por defecto es6tamaño de s.
Pero Xcode8Al abrir el archivo XIB o SB de un proyecto antiguo, se mostrará el siguiente cuadro de diálogo, en este momento generalmente seleccione Choose Device.
Elija una vista de dispositivo inicial
Pero hay un problema, si Xcode8Después de abrir este archivo XIB y seleccionar Choose Device. Otros Xcode8Las siguientes versiones del compilador, no podrán abrir este archivo y mostrarán el siguiente error:
El documento “ViewController.xib” requiere Xcode 8.0 o posteriores. Esta versión no admite documentos guardados en el Xcode 8 formato. Abra este documento con Xcode 8.0 o posteriores.
Hay dos métodos para resolver este problema:
Al mismo tiempo, actualice Xcode8,esta opción es muy recomendada, debemos recibir los cambios.
Haga clic derecho en el archivo XIB o SB -> Abrir como -> Código fuente, eliminar la siguiente línea de campo en el archivo xml.
Errores de compilación
Después de actualizar Xcode, Xcode8La incompatibilidad con algunos modificador y sentencias anteriores puede causar errores de compilación. Las razones de estos errores son muchas, aquí se enumeran algunas, por favor, modifique según su propia situación.
Antes, algunos modificador de genéricos, como nullable, podrían generar errores.
CAAnimation y sus subclases, después de establecer la propiedad de agente, deben cumplir con el @interface() del agente, de lo contrario se presentará un error, etc.
Adaptación de permisos
Esto debería ser iOS10El alcance de la adaptación del sistema, últimamente ambos están en proceso, por lo que se escribió directamente con Xcode8Se escribió junto con la adaptación. Los dos últimos están en proceso, por lo que se escribió directamente con Xcode
En iOS10Después, en Info.plist se debe agregar un nuevo campo para obtener el permiso, de lo contrario en iOS10Al ejecutarse en iOS causará un colapso. A continuación, se presentan algunos campos comunes, si falta algún campo
Faltan algunas, por favor complete en los comentarios.
Referencias: developer.apple
Notificaciones Push
Las notificaciones de Apple en iOS anteriores8y iOS9ha habido actualizaciones importantes, las funciones de push se han vuelto más potentes. En iOS10Después, Apple lanzó el framework UserNotifications, a través del cual se puede controlar mejor las notificaciones push, se puede actualizar y modificar los mensajes de la pantalla de bloqueo, se pueden agregar imágenes y otras funciones.
Pero al usar Xcode8Después de empaquetar y sin modificar el código, se descubrió que Apple envió un correo electrónico. Este correo electrónico tiene más o menos el siguiente significado: si se necesita usar las notificaciones push, se debe modificar el código, de lo contrario no se podrá usar la notificación push.
Notificaciones Push
Esto se debe a que en Xcode8Después, si se necesita usar la función de Notificaciones Push, se debe marcar Capabilities -> Notificaciones Push en SÍ, de lo contrario, al realizar la notificación remota se presentarán problemas y se recibirá este correo electrónico de Apple.
Eliminar logs del sistema
Actualizar Xcode8Después, durante el proceso de depuración y ejecución, se descubrió que la consola imprimió muchos logs desconocidos, estos logs son impresos por el sistema y no tienen relación con los desarrolladores. Pero
Con tantas logs parece un desorden, ¿cómo puedo bloquearlas?
sistema: com.apple.UIKit, categoría: HIDEventFiltered, nivel_habilitado: 0, nivel_persistencia: 0, ttl_por_defecto: 0, ttl_info: 0, ttl_debug: 0, generar_síntomas: 0, habilitar_oversize: 1, privacy_setting: 2, enable_private_data: 0
En Target -Editar esquema -Ejecutar -Agregar el campo OS_ACTIVITY_MODE en Arguments y establecer en Disable.
OS_ACTIVITY_MODE
Por cierto, estos días, al configurar la opción de registro, descubrí que se puede imprimir el tiempo de carga de la aplicación al establecer parámetros en Arguments, incluyendo el tiempo de carga total y el tiempo de carga de las bibliotecas dinámicas, etc.
Para agregar DYLD_PRINT_STATISTICS al campo Variables de entorno y establecer en YES, se imprimirá el tiempo de carga en la consola.
Información de impresión de la consola
awakeFromNib avisa
Proyecto viejo en Xcode8En algunos lugares, la sobrescripción de la方法是错误的,lo que causará el siguiente error. Esto se debe a que no se llama al método super, afortunadamente, siempre llamo al método super en mi código y no hay problemas en el código en este momento.
El método puede faltar una llamada a [super awakeFromNib]
Lo que se menciona anteriormente es lo que el editor les ha presentado a todos Xcode 8El uso de nuevas características y los problemas encontrados, espero que sean útiles para todos. Si tienen alguna pregunta, déjenme un mensaje y editaré a tiempo. También agradezco mucho el apoyo de todos a la página web de tutorial de gritos!
Declaración: el contenido de este artículo se obtiene de la red, pertenece al autor original, el contenido se contribuye y carga de manera autónoma por los usuarios de Internet, este sitio no posee los derechos de propiedad, no ha sido editado por humanos y no asume ninguna responsabilidad legal relacionada. Si encuentra contenido sospechoso de copyright, por favor envíe un correo electrónico a: notice#oldtoolbag.com (al enviar un correo electrónico, por favor reemplace # con @) para denunciar y proporcionar evidencia relevante. Una vez verificada, este sitio eliminará inmediatamente el contenido sospechoso de infracción.