{"id":289109,"date":"2022-10-21T12:09:03","date_gmt":"2022-10-21T11:09:03","guid":{"rendered":"https:\/\/blog.jetbrains.com\/?post_type=appcode&#038;p=289109"},"modified":"2022-10-21T12:09:05","modified_gmt":"2022-10-21T11:09:05","slug":"appcode-2022-3-eap-compatibility-with-xcode-14-1-rc-and-enhanced-inline-refactoring","status":"publish","type":"appcode","link":"https:\/\/blog.jetbrains.com\/zh-hans\/appcode\/2022\/10\/appcode-2022-3-eap-compatibility-with-xcode-14-1-rc-and-enhanced-inline-refactoring","title":{"rendered":"AppCode 2022.3 EAP: Compatibility With Xcode 14.1 RC and Enhanced Inline Refactoring"},"content":{"rendered":"<p>Hi everyone,<\/p>\n<p>A new AppCode 2022.3 EAP build (223.7126.4) is available for download from our <a href=\"https:\/\/www.jetbrains.com\/objc\/nextversion\" target=\"_blank\" rel=\"noopener\">website<\/a> or via the <a href=\"https:\/\/www.jetbrains.com\/toolbox-app\/\" target=\"_blank\" rel=\"noopener\">Toolbox App<\/a>. You can also update from the second 2022.3 EAP build via patch.<\/p>\n<p align=\"center\"><a class=\"jb-download-button\" href=\"https:\/\/www.jetbrains.com\/appcode\/nextversion\" target=\"_blank\" rel=\"noopener\"><i class=\"download-icon\"><\/i>DOWNLOAD APPCODE EAP<\/a><\/p>\n<p>This EAP build improves AppCode\u2019s compatibility with Xcode 14.1 RC by fixing an exception that happens on project opening (<a href=\"https:\/\/youtrack.jetbrains.com\/issue\/OC-23248\" target=\"_blank\" rel=\"noopener\">OC-23248<\/a>).<\/p>\n<p>As we <a href=\"https:\/\/blog.jetbrains.com\/appcode\/2022\/10\/appcode-starts-the-2022-3-eap\/#swift_language_improvements\">announced previously<\/a>, you can now inline a Swift function and have the IDE substitute all its usages across the codebase. We are continuing to improve this feature, and we\u2019ve implemented the following enhancements:<\/p>\n<ul>\n<li>For functions with an effective single exit point, the generated code is simplified by using a single variable for the result (<a href=\"https:\/\/youtrack.jetbrains.com\/issue\/OC-23103\" target=\"_blank\" rel=\"noopener\">OC-23103<\/a>).<\/li>\n<li>A function\u2019s constant arguments are inlined in the place of their usage when possible (<a href=\"https:\/\/youtrack.jetbrains.com\/issue\/OC-23114\" target=\"_blank\" rel=\"noopener\">OC-23114<\/a>).<\/li>\n<li>When inlining, the IDE properly processes <code>inout<\/code> function arguments (<a href=\"https:\/\/youtrack.jetbrains.com\/issue\/OC-23115\" target=\"_blank\" rel=\"noopener\">OC-23115<\/a>).<\/li>\n<li>AppCode now provides more advanced support for <code>try<\/code>\/<code>throws<\/code> when inlining (<a href=\"https:\/\/youtrack.jetbrains.com\/issue\/OC-23126\" target=\"_blank\" rel=\"noopener\">OC-23126<\/a>).<\/li>\n<li>AppCode now inlines implicit calls to static methods more accurately (<a href=\"https:\/\/youtrack.jetbrains.com\/issue\/OC-23133\" target=\"_blank\" rel=\"noopener\">OC-23133<\/a>).<\/li>\n<li>When inlining, the IDE now checks the accessibility of symbols used in the inlined function (<a href=\"https:\/\/youtrack.jetbrains.com\/issue\/OC-23154\" target=\"_blank\" rel=\"noopener\">OC-23154<\/a>).<\/li>\n<\/ul>\n<p>The full release notes are available <a href=\"https:\/\/youtrack.jetbrains.com\/articles\/OC-A-223445218\/AppCode-20223-EAP-3-22371264-build-Release-Notes\" target=\"_blank\" rel=\"noopener\">here<\/a>.<\/p>\n<p align=\"center\"><a class=\"jb-download-button\" href=\"https:\/\/www.jetbrains.com\/appcode\/nextversion\" target=\"_blank\" rel=\"noopener\"><i class=\"download-icon\"><\/i>DOWNLOAD APPCODE EAP<\/a><\/p>\n<p>Your AppCode team<br \/>\nJetBrains<br \/>\n<em>The Drive to Develop<\/em><\/p>\n","protected":false},"author":266,"featured_media":283598,"comment_status":"closed","ping_status":"closed","template":"","categories":[826,89],"tags":[7086,600,7108,91,340],"cross-post-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/appcode\/289109"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/appcode"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/types\/appcode"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/users\/266"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/comments?post=289109"}],"version-history":[{"count":6,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/appcode\/289109\/revisions"}],"predecessor-version":[{"id":289275,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/appcode\/289109\/revisions\/289275"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/media\/283598"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/media?parent=289109"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/categories?post=289109"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/tags?post=289109"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/zh-hans\/wp-json\/wp\/v2\/cross-post-tag?post=289109"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}