{"id":46150,"date":"2024-12-13T15:12:39","date_gmt":"2024-12-13T20:12:39","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=46150"},"modified":"2025-07-14T13:48:07","modified_gmt":"2025-07-14T17:48:07","slug":"xcode-16-2","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2024\/12\/13\/xcode-16-2\/","title":{"rendered":"Xcode 16.2"},"content":{"rendered":"<p><a href=\"https:\/\/developer.apple.com\/documentation\/xcode-release-notes\/xcode-16_2-release-notes\">Apple<\/a> (<a href=\"https:\/\/developer.apple.com\/download\/all\/\">downloads<\/a>):<\/p>\n<blockquote cite=\"https:\/\/developer.apple.com\/documentation\/xcode-release-notes\/xcode-16_2-release-notes\"><p>The Command Line Tools package now supports using the <code>swift test<\/code> command to build and run package tests written with Swift Testing.<\/p><p>[&#8230;]<\/p><p>Sometimes running parallel Tests on macOS run destinations never finishes.<\/p><p>[&#8230;]<\/p><p>macOS projects that use hardened runtime but no sandboxing may run into timeout errors when attempting to preview if the project is complex enough.<\/p><p>[&#8230;]<\/p><p>Simulator process launch may stall for around 3-5 minutes per runtime as GateKeeper scans the simulator dyld shared cache.<\/p><p>[&#8230;]<\/p><p>Memory leaks can occur when calling async functions bridged from Objective-C and building in the Swift 6 language mode.<\/p><p><strong>Workaround:<\/strong> Pass <code>-checked-async-objc-bridging=off<\/code> to the Swift compiler using &ldquo;Other Swift Flags&rdquo; in Xcode build settings.<\/p><\/blockquote>\n\n<p><a href=\"https:\/\/x.com\/twostraws\/status\/1864283024180826203\">Paul Hudson<\/a>:<\/p>\n<blockquote cite=\"https:\/\/x.com\/twostraws\/status\/1864283024180826203\"><p>&ldquo;Swift Assist is coming later this year,&rdquo; said Apple in June. It&rsquo;s now December [11th], so that means we&rsquo;re only a few weeks from seeing it in action &#x2013; Xcode 16.3 beta 1, presumably?<\/p><\/blockquote>\n\n<p>Previously:<\/p>\n<ul>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2024\/10\/31\/xcode-16-1\/\">Xcode 16.1<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2024\/09\/12\/xcode-16\/\">Xcode 16<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2024\/10\/01\/swift-concurrency-and-objective-c\/\">Swift Concurrency and Objective-C<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2024\/07\/17\/swift-testing-in-xcode-16\/\">Swift Testing in Xcode 16<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2024\/07\/17\/xcode-16-announced\/\">Xcode 16 Announced<\/a><\/li>\n<\/ul>\n\n<p id=\"xcode-16-2-update-2024-12-23\">Update (2024-12-23): <a href=\"https:\/\/developer.apple.com\/forums\/thread\/771266\">Daniel Jalkut<\/a>:<\/p>\n<blockquote cite=\"https:\/\/developer.apple.com\/forums\/thread\/771266\">\n<p>However, when I add this value to OTHER_SWIFT_FLAGS (either in the Xcode build settings interface, or in an .xcconfig file), it yields a build error:<\/p>\n<blockquote>\n<p>error: Driver threw unknown argument: '-checked-async-objc-bridging' without emitting errors.<\/p>\n<\/blockquote>\n<\/blockquote>\n<p>This happens for me, too.<\/p>\n\n<p id=\"xcode-16-2-update-2025-01-07\">Update (2025-01-07): <a href=\"https:\/\/developer.apple.com\/forums\/thread\/771266?answerId=819110022#819110022\">robinkunde<\/a>:<\/p>\n<blockquote cite=\"https:\/\/developer.apple.com\/forums\/thread\/771266?answerId=819110022#819110022\">\n<p>It&rsquo;s a frontend option, so you need to prefix it with <code>-Xfrontend<\/code>. Example: <code>swift -Xfrontend -checked-async-objc-bridging=off main.swift<\/code><\/p>\n<\/blockquote>\n\n<p><a href=\"https:\/\/mastodon.social\/@tonyarnold\/113704472107019580\">Tony Arnold<\/a>:<\/p>\n<blockquote cite=\"https:\/\/mastodon.social\/@tonyarnold\/113704472107019580\">\n<p>Do you reckon anyone at &#xF8FF; uses anything remotely like a release build of Xcode day-to-day? <\/p>\n<p>The test navigator does this on every project that I run tests on, on every Mac I have access to with every 16.x release and beta of Xcode.<\/p>\n<\/blockquote>\n\n<p id=\"xcode-16-2-update-2025-01-24\">Update (2025-01-24): <a href=\"https:\/\/mastodon.social\/@isaiah\/113840774157289215\">Isaiah Carew<\/a>:<\/p>\n<blockquote cite=\"https:\/\/mastodon.social\/@isaiah\/113840774157289215\"><p>my latest gripe is that apple has  obviously stopped caring about obj-c. bugs spring up and just languish forever.<\/p><p>example: the doc browser has a hierarchy pop-up menu. it now only shows swift functions even when the browser is set to obj-c mode.<\/p><\/blockquote>","protected":false},"excerpt":{"rendered":"<p>Apple (downloads): The Command Line Tools package now supports using the swift test command to build and run package tests written with Swift Testing.[&#8230;]Sometimes running parallel Tests on macOS run destinations never finishes.[&#8230;]macOS projects that use hardened runtime but no sandboxing may run into timeout errors when attempting to preview if the project is complex [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"2024-12-13T20:12:41Z","apple_news_api_id":"8af212ce-6af5-407d-9fac-130b97e52f6d","apple_news_api_modified_at":"2025-01-24T14:25:53Z","apple_news_api_revision":"AAAAAAAAAAAAAAAAAAAAAg==","apple_news_api_share_url":"https:\/\/apple.news\/AivISzmr1QH2frBMLl-UvbQ","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[4],"tags":[2602,465,30,2598,54,71,2743,2200,901,2796,1812,268,226],"class_list":["post-46150","post","type-post","status-publish","format-standard","hentry","category-programming-category","tag-apple-intelligence","tag-gatekeeper","tag-mac","tag-macos-15-sequoia","tag-objective-c","tag-programming","tag-swift-assist","tag-swift-concurrency","tag-swift-programming-language","tag-swift-testing","tag-swiftui","tag-testing","tag-xcode"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/46150","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=46150"}],"version-history":[{"count":4,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/46150\/revisions"}],"predecessor-version":[{"id":46515,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/46150\/revisions\/46515"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=46150"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=46150"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=46150"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}