{"id":136423,"date":"2021-04-26T18:28:31","date_gmt":"2021-04-26T17:28:31","guid":{"rendered":"https:\/\/blog.jetbrains.com\/?post_type=objc&#038;p=136423"},"modified":"2021-04-26T18:35:01","modified_gmt":"2021-04-26T17:35:01","slug":"appcode-2021-1-release","status":"publish","type":"appcode","link":"https:\/\/blog.jetbrains.com\/fr\/appcode\/2021\/04\/appcode-2021-1-release","title":{"rendered":"AppCode 2021.1: Standalone Swift Package Manager Projects, Performance Improvements, Automatic Cross-Resolve for the Kotlin\/Native Plugin, and More"},"content":{"rendered":"<p>Please welcome our first update this year \u2013 AppCode 2021.1!<\/p>\n<p><img decoding=\"async\" alt=\"Splash\" width=\"800\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2021\/04\/AppCode_2021_1-2x.png\"\/><\/p>\n<p align=\"center\"><a class=\"jb-download-button\" href=\"https:\/\/www.jetbrains.com\/objc\/download\/\" target=\"_blank\" rel=\"noopener\"><i class=\"download-icon\"><\/i>Download AppCode 2021.1<\/a><\/p>\n<h2 id=\"swift_package_manager\">Swift Package Manager<\/h2>\n<p>AppCode now opens standalone SPM projects even without an <code>.xcodeproj<\/code> file, same as CLion:<\/p>\n<p><img decoding=\"async\" alt=\"Swift Package Manager\" width=\"800\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2021\/02\/spm-2x-1.png\"\/><\/p>\n<p>In addition, code entities from Objective-C and local SPM packages are now correctly resolved. <\/p>\n<h2 id=\"kotlin_native_plugin\">Kotlin\/Native Plugin<\/h2>\n<p>As we <a href=\"https:\/\/blog.jetbrains.com\/fr\/appcode\/2021\/04\/kotlin-native-plugin-update\">wrote before<\/a>, the Kotlin\/Native plugin for AppCode got a major update: cross-resolve between Kotlin and Objective-C\/Swift now works automatically and no longer requires rebuilding the project.<\/p>\n<p><img decoding=\"async\" alt=\"Kotlin\/Native\" width=\"800\" data-gif-src=\"https:\/\/resources.jetbrains.com\/storage\/products\/blog\/wp-content\/uploads\/AppCode\/kn_new@2x.gif\" src=\"https:\/\/resources.jetbrains.com\/storage\/products\/blog\/wp-content\/uploads\/AppCode\/kn_new@2x.png\"\/><\/p>\n<h2 id=\"performance\">Performance<\/h2>\n<p>IDE performance is always a key area of focus for us in the AppCode team. In AppCode 2021.1 we&#8217;ve decreased the time it takes to open large projects once the initial indexing and caching are finished.<\/p>\n<h2 id=\"trusted_projects\">Trusted Projects<\/h2>\n<p>Another important change for all JetBrains IDEs is the concept of <strong>trusted projects<\/strong>, which are designed to mitigate the risks associated with opening projects from unknown and untrusted sources. You can read about it in detail in this <a href=\"https:\/\/blog.jetbrains.com\/fr\/appcode\/2021\/03\/appcode-2020-3-4-trusted-projects#trusted_projects\">blog post<\/a>.<\/p>\n<h2 id=\"swift_on_windows_in_clion\">Swift on Windows in CLion<\/h2>\n<p>The AppCode and CLion teams have a long history of collaboration. For example, C++ support was implemented in AppCode first and was later reused when JetBrains created CLion. We work together closely on different IDE features, and Swift was no exception. <\/p>\n<p>In December 2015, we decided that the best IDE for cross-platform usage of Swift will be CLion as it\u2019s already available on different OSes. So we created the <a href=\"https:\/\/blog.jetbrains.com\/fr\/clion\/2015\/12\/swift-plugin-for-clion\">first version<\/a> of the Swift plugin to make it possible to write Swift applications on Linux. This plugin\u2019s functionality essentially amounts to the Swift support from AppCode. <\/p>\n<p>Initially, the plugin worked with the CMake project model, but in 2018 we <a href=\"https:\/\/blog.jetbrains.com\/fr\/appcode\/2018\/10\/spm-support-clion\">implemented support<\/a> for the Swift Package Manager project model, which was reused later in AppCode.<\/p>\n<p>And finally, the Swift plugin for CLion is <a href=\"https:\/\/blog.jetbrains.com\/fr\/appcode\/2021\/03\/swift-on-windows-in-clion\">now available<\/a> on Windows: <\/p>\n<p><img decoding=\"async\" alt=\"Swift on Windows\" width=\"800\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2021\/03\/run-2x.png\"\/><\/p>\n<h2 id=\"version_control\">Version Control<\/h2>\n<p>As usual, a heap of VCS improvements is included in AppCode 2021.1, thanks to the IntelliJ Platform team: improved pull requests support, Git commit templates, profiles for pre-commit inspections, and <a href=\"https:\/\/www.jetbrains.com\/idea\/whatsnew\/#version-control\" target=\"_blank\" rel=\"noopener\">even more<\/a>. <\/p>\n<p>That\u2019s <a href=\"https:\/\/youtrack.jetbrains.com\/releaseNotes?q=Fix%20versions:%7BAppCode%202021.1%7D%20sort%20by:%20project,%20type,%20votes&#038;title=AppCode%202021.1\" target=\"_blank\" rel=\"noopener\">mostly it<\/a>. After a short break, we\u2019ll get working on the next major release \u2013 stay tuned, and don\u2019t miss AppCode 2021.2!<\/p>\n<p align=\"center\"><a class=\"jb-download-button\" href=\"https:\/\/www.jetbrains.com\/objc\/download\/\" target=\"_blank\" rel=\"noopener\"><i class=\"download-icon\"><\/i>Download AppCode 2021.1<\/a><\/p>\n<p><em>Your AppCode team<\/em><br \/>\n<em>JetBrains<\/em><br \/>\n<em>The Drive to Develop<\/em><\/p>\n","protected":false},"author":437,"featured_media":136426,"comment_status":"closed","ping_status":"closed","template":"","categories":[4244,89],"tags":[6412,477,671],"cross-post-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/appcode\/136423"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/appcode"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/types\/appcode"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/users\/437"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/comments?post=136423"}],"version-history":[{"count":4,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/appcode\/136423\/revisions"}],"predecessor-version":[{"id":138695,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/appcode\/136423\/revisions\/138695"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/media\/136426"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/media?parent=136423"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/categories?post=136423"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/tags?post=136423"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/cross-post-tag?post=136423"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}