{"id":307830,"date":"2022-12-14T19:02:01","date_gmt":"2022-12-14T18:02:01","guid":{"rendered":"https:\/\/blog.jetbrains.com\/?post_type=appcode&#038;p=307830"},"modified":"2022-12-14T19:02:10","modified_gmt":"2022-12-14T18:02:10","slug":"appcode-2022-3-release-and-end-of-sales-and-support","status":"publish","type":"appcode","link":"https:\/\/blog.jetbrains.com\/es\/appcode\/2022\/12\/appcode-2022-3-release-and-end-of-sales-and-support\/","title":{"rendered":"Lanzamiento de AppCode 2022.3 y fin de ventas y asistencia t\u00e9cnica"},"content":{"rendered":"\n<p>\u00a1Acabamos de lanzar AppCode 2022.3! Incorpora compatibilidad con macOS 13 y Xcode 14.2, aporta m\u00e1s capacidades de refactorizaci\u00f3n para Swift, permite inyecciones de lenguaje y sugiere un nuevo enfoque para la sincronizaci\u00f3n de configuraciones.<\/p>\n\n\n\n<p><em>Con el lanzamiento de la versi\u00f3n 2022.3, dejaremos de ofrecer este producto. A partir del 14 de diciembre de 2022, ya no venderemos nuevas suscripciones de AppCode ni renovaremos las existentes. Todas las suscripciones activas obtendr\u00e1n una licencia de reserva para la versi\u00f3n 2022.3.<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1600\" height=\"800\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/12\/Release_blog_image_800x400_AppCode-2x-2.png\" alt=\"\" class=\"wp-image-307834\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"sunsetting_appcode\">Suspensi\u00f3n de AppCode<\/h2>\n\n\n\n<p>Desde el lanzamiento de <a href=\"https:\/\/blog.jetbrains.com\/appcode\/2011\/10\/appcode-1-0-a-new-ide-for-objective-c-is-generally-available\/\">AppCode 1.0<\/a> hace 11 a\u00f1os, hemos dedicado toda nuestra experiencia a hacer que la codificaci\u00f3n para iOS\/macOS resulte m\u00e1s agradable. Hemos cosechado muchos logros, entre ellos una compatibilidad excelente con C++ (de donde naci\u00f3 <a href=\"https:\/\/www.jetbrains.com\/es-es\/clion\/\" target=\"_blank\" rel=\"noopener\">CLion<\/a>, nuestro IDE C\/C++ multiplataforma), un rapid\u00edsimo <a href=\"https:\/\/blog.jetbrains.com\/appcode\/2014\/06\/appcode-3-0-1-update-xcode-6-and-basic-swift-support\/\">lanzamiento<\/a> de la compatibilidad inicial con el nuevo lenguaje Swift y, por \u00faltimo, <a href=\"https:\/\/blog.jetbrains.com\/es\/kotlin\/2022\/10\/kmm-beta\/\">la tecnolog\u00eda Kotlin Multiplatform Mobile<\/a>, que combina nuestra pasi\u00f3n por Kotlin con nuestro conocimiento de las tecnolog\u00edas m\u00f3viles.<\/p>\n\n\n\n<p>Aunque hemos experimentado cierto crecimiento en cuanto a adopci\u00f3n, no hemos alcanzado la cuota de mercado que esper\u00e1bamos. Creemos que ha llegado el momento de poner fin al producto y centrar nuestros esfuerzos en otras direcciones.<\/p>\n\n\n\n<p>Hasta el 31 de diciembre de 2023, seguiremos proporcionando asistencia t\u00e9cnica y publicando actualizaciones que aborden espec\u00edficamente problemas de compatibilidad con Xcode 14, as\u00ed como actualizaciones de seguridad cr\u00edticas seg\u00fan sea necesario. El alcance de las actualizaciones se limitar\u00e1 a estos dos \u00e1mbitos.<\/p>\n\n\n\n<p><em>Tenga en cuenta que Kotlin Multiplatform Mobile <\/em><em>es independiente<\/em><em> de la desaparici\u00f3n de AppCode, y que seguimos invirtiendo en esa herramienta. Para obtener m\u00e1s informaci\u00f3n y actualizaciones, consulte el <\/em><a href=\"https:\/\/blog.jetbrains.com\/kotlin\/\"><em>blog de Kotlin<\/em><\/a><em>.<\/em><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"extending_the_fallback\">Ampliaci\u00f3n de la licencia de reserva<\/h3>\n\n\n\n<p>Normalmente, cuando se concede una licencia de reserva, el usuario recibe una licencia para la versi\u00f3n del producto con la que inici\u00f3 su suscripci\u00f3n. Pero como muestra de agradecimiento, esta vez haremos las cosas de otra manera. Quienes reciban licencias de reserva obtendr\u00e1n una licencia para la versi\u00f3n que est\u00e9 disponible cuando finalice su suscripci\u00f3n.<\/p>\n\n\n\n<p>Por \u00faltimo, pero no por ello menos importante, queremos darle las gracias por su apoyo y por ayudar a AppCode a evolucionar a lo largo de los a\u00f1os<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"appcode_update\">Actualizaci\u00f3n de AppCode 2022.3<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"compatibility\">Compatibilidad<\/h3>\n\n\n\n<p>En esta versi\u00f3n, hemos corregido una excepci\u00f3n que se produc\u00eda al abrir el proyecto, hemos desactivado la advertencia de compatibilidad con macOS y hemos solucionado una incidencia con la creaci\u00f3n de un dispositivo en la integraci\u00f3n de Reveal en macOS 13. Con estas actualizaciones, AppCode 2022.3 ahora es compatible con macOS 13 y Xcode 14.2.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"better_swift_refactoring_capabilities\">Mejores capacidades de refactorizaci\u00f3n en Swift<\/h3>\n\n\n\n<p>Nos hemos esforzado por mejorar la refactorizaci\u00f3n en Swift. En esta versi\u00f3n hemos ampliado la lista de capacidades y mejorado las existentes:<\/p>\n\n\n\n<ul><li>Se ha a\u00f1adido una nueva refactorizaci\u00f3n <em>Inline function<\/em> (\u2325\u2318N). El usuario puede especificar si se deben sustituir todas las invocaciones o solo la seleccionada, as\u00ed como si se debe eliminar la funci\u00f3n: <img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/12\/inline_swift.png\" alt=\"Inline Function in Swift\" width=\"600\" data-gif-src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/12\/inline_swift.gif\"> Al alinear, el IDE comprueba la accesibilidad de los s\u00edmbolos utilizados en la funci\u00f3n alineada, procesa correctamente los argumentos de funci\u00f3n <code>inout<\/code>, alinea con precisi\u00f3n las llamadas impl\u00edcitas a m\u00e9todos est\u00e1ticos, etc.<\/li><li>Al crear una propiedad a partir de un uso o extraerla, AppCode ofrece ahora la posibilidad de elegir entre las declaraciones de propiedad <code>var<\/code> y <code>let<\/code>.<\/li><li>Extraer un m\u00e9todo de un <code>static subscript<\/code> genera ahora un m\u00e9todo <code>static<\/code>. Ahora tambi\u00e9n tiene en cuenta el \u00e1mbito y el tiempo de vida de la variable, y ya no pasa por alto el modificador <code>mutating<\/code>.<\/li><li>Al extraer una conformidad de protocolo a <code>extension<\/code> ya no se pierden los comentarios de la documentaci\u00f3n.<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"enhanced_completion_for_initializers_and_deinitializers\">Finalizaci\u00f3n mejorada de inicializadores y desinicializadores<\/h3>\n\n\n\n<p>La finalizaci\u00f3n de c\u00f3digo en Swift ha recibido varias mejoras:<\/p>\n\n\n\n<ul><li>La finalizaci\u00f3n inteligente ahora ignora <code>@autoclosure<\/code> para la asignabilidad cuando se crea una lista de opciones.<\/li><li>Al completar las palabras clave <code>init<\/code> y <code>deinit<\/code>, se eliminan los espacios redundantes y se a\u00f1aden los corchetes y par\u00e9ntesis necesarios despu\u00e9s de las palabras clave.<\/li><li>AppCode 2022.3 tambi\u00e9n habilita la acci\u00f3n <em>complete statement<\/em> para inicializadores y desinicializadores.<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/12\/complete_init.png\" alt=\"Completar declaraci\u00f3n\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"intention_previews\">Vista previa de intenciones<\/h3>\n\n\n\n<p>Si no est\u00e1 seguro acerca de un arreglo r\u00e1pido o simplemente se pregunta qu\u00e9 va a cambiar exactamente, abra la ventana emergente de <em>Quick Documentation<\/em> (<code>F1<\/code>) de un arreglo r\u00e1pido seleccionado en el men\u00fa <code>\u2325Enter<\/code>. Esto activar\u00e1 la vista previa de intenciones para que pueda ver c\u00f3mo se va a actualizar el c\u00f3digo con el arreglo aplicado.<br><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/12\/preview-1.png\" alt=\"Vista previa de intenciones\" width=\"600\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"injected_languages\">Lenguajes inyectados<\/h3>\n\n\n\n<p>Para los literales de cadena en Swift que contienen cadenas SQL, c\u00f3digo HTML, expresiones regulares u otros ejemplos de otros lenguajes, puede inyectar estos lenguajes en la cadena a trav\u00e9s del men\u00fa <code>\u2325Enter<\/code>. Si lo hace, obtendr\u00e1 un resaltado de c\u00f3digo preciso basado en el lenguaje seleccionado, intenciones espec\u00edficas del lenguaje y una secci\u00f3n del editor espec\u00edfica para editar el fragmento de c\u00f3digo espec\u00edfico.<br><img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/12\/injections.png\" alt=\"Inyecciones de lenguaje\" width=\"600\" data-gif-src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2022\/12\/injections.gif\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"updates_to_uml_diagrams\">Actualizaciones de los diagramas UML<\/h3>\n\n\n\n<p>AppCode 2022.3 mejora los diagramas UML para las clases Swift y Objective-C:<\/p>\n\n\n\n<ul><li>Puede arrastrar elementos desde archivos de la vista <em>Project View<\/em> al diagrama.<\/li><li>Puede filtrar nodos en el diagrama por alcance, como todos los archivos modificados, los archivos abiertos o los archivos fuente del proyecto.<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"new_solution_for_settings_synchronization\">Nueva soluci\u00f3n para la sincronizaci\u00f3n de ajustes<\/h3>\n\n\n\n<p>Existe una nueva soluci\u00f3n para sincronizar los ajustes entre diferentes instalaciones del producto o incluso entre varios IDE basados en IntelliJ. Almacena los ajustes en la nube asociada a la cuenta JetBrains del usuario y es capaz de sincronizar todas las configuraciones compartibles de la plataforma, los complementos incorporados y los de terceros. <a href=\"https:\/\/blog.jetbrains.com\/appcode\/2022\/10\/appcode-2022-3-eap-new-settings-sync-solution\/#new_solution_for_synchronizing_settings\">Obtenga m\u00e1s informaci\u00f3n<\/a> y habil\u00edtela desde <em>Preferences | Settings Sync | Enable Settings Sync<\/em>.<\/p>\n\n\n\n<p><a class=\"jb-download-button\" href=\"https:\/\/www.jetbrains.com\/es-es\/objc\/download\/\" target=\"_blank\" rel=\"noopener\"><i class=\"download-icon\"><\/i>Descargar AppCode<\/a><\/p>\n\n\n\n<p><em>Su equipo de AppCode<\/em><br><em>JetBrains<\/em><br><em>The Drive to Develop<\/em><\/p>\n\n\n\n<p><em>Art\u00edculo original en ingl\u00e9s de:<\/em><\/p>\n\n\n    <div class=\"about-author \">\n        <div class=\"about-author__box\">\n            <div class=\"row\">\n                <div class=\"about-author__box-img\">\n                    <img decoding=\"async\" src=\"https:\/\/secure.gravatar.com\/avatar\/?s=200&#038;r=g\" width=\"200\" height=\"200\" alt=\"\" loading=\"lazy\"  class=\"avatar avatar-200 wp-user-avatar wp-user-avatar-200 photo avatar-default\">\n                <\/div>\n                <div class=\"about-author__box-text\">\n                                                        <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n","protected":false},"author":1086,"featured_media":307847,"comment_status":"closed","ping_status":"closed","template":"","categories":[89,907],"tags":[7086,195,7135,7165],"cross-post-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/es\/wp-json\/wp\/v2\/appcode\/307830"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/es\/wp-json\/wp\/v2\/appcode"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/es\/wp-json\/wp\/v2\/types\/appcode"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/es\/wp-json\/wp\/v2\/users\/1086"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/es\/wp-json\/wp\/v2\/comments?post=307830"}],"version-history":[{"count":9,"href":"https:\/\/blog.jetbrains.com\/es\/wp-json\/wp\/v2\/appcode\/307830\/revisions"}],"predecessor-version":[{"id":307876,"href":"https:\/\/blog.jetbrains.com\/es\/wp-json\/wp\/v2\/appcode\/307830\/revisions\/307876"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/es\/wp-json\/wp\/v2\/media\/307847"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/es\/wp-json\/wp\/v2\/media?parent=307830"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/es\/wp-json\/wp\/v2\/categories?post=307830"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/es\/wp-json\/wp\/v2\/tags?post=307830"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/es\/wp-json\/wp\/v2\/cross-post-tag?post=307830"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}