{"id":51362,"date":"2026-03-25T13:18:16","date_gmt":"2026-03-25T17:18:16","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=51362"},"modified":"2026-04-03T10:10:05","modified_gmt":"2026-04-03T14:10:05","slug":"xcode-26-4","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2026\/03\/25\/xcode-26-4\/","title":{"rendered":"Xcode 26.4"},"content":{"rendered":"<p><a href=\"https:\/\/developer.apple.com\/documentation\/xcode-release-notes\/xcode-26_4-release-notes\">Apple<\/a> (<a href=\"https:\/\/download.developer.apple.com\/Developer_Tools\/Xcode_26.4\/Xcode_26.4_Universal.xip\">xip<\/a>, <a href=\"https:\/\/developer.apple.com\/download\/all\/\">downloads<\/a>):<\/p>\n<blockquote cite=\"https:\/\/developer.apple.com\/documentation\/xcode-release-notes\/xcode-26_4-release-notes\">\n<p>Xcode 26.4 includes Swift 6.3 and SDKs for iOS 26.4, iPadOS 26.4, tvOS 26.4, macOS 26.4, and visionOS 26.4. Xcode 26.4 supports on-device debugging in iOS 15 and later, tvOS 15 and later, watchOS 8 and later, and visionOS. Xcode 26.4 requires a Mac running macOS Tahoe 26.2 or later.<\/p>\n<\/blockquote>\n<p>There are lots of improvements for C++. With <a href=\"https:\/\/mastodon.social\/@marcoarment\/116117953399783753\">no more support for Sequoia<\/a>, I won&rsquo;t be updating for a while.<\/p>\n\n<blockquote cite=\"https:\/\/developer.apple.com\/documentation\/xcode-release-notes\/xcode-26_4-release-notes\">\n<p>New Run Comparison feature allows to compare call trees with other runs using View &#x2192; Detail Area &#x2192; Compare With&#8230; or the &#x21C6; button in the jump bar. After selecting which run you want to compare with, the comparison view allows you to view which functions took more or less time between the runs. Call tree filtering operations like &ldquo;Charge to callers&rdquo; allow you to focus in on the functions that are faster or slower.<\/p>\n<p>Top Functions is a new, top-level mode of a Call Tree view allowing to quickly identify the most expensive functions in the trace, no matter where they&rsquo;re called from. To access Top Functions, select rightmost button in the Call Tree navigation bar.<\/p>\n<p>[&#8230;]<\/p>\n<p>Swift Testing adds support for specifying a Severity when recording an Issue.<\/p>\n<\/blockquote>\n\n<p>Previously:<\/p>\n<ul>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2026\/02\/04\/xcode-26-3\/\">Xcode 26.3<\/a><\/li>\n<\/ul>\n\n<p id=\"xcode-26-4-update-2026-03-30\">Update (<a href=\"#xcode-26-4-update-2026-03-30\">2026-03-30<\/a>): <a href=\"https:\/\/mastodon.social\/@chbeer\/116301528573900664\">Christian Beer<\/a>:<\/p>\n<blockquote cite=\"https:\/\/mastodon.social\/@chbeer\/116301528573900664\">\n<p>So Xcode 26.4 only runs on Tahoe 26.2 or newer&#8230; our CI macMini needs to run Xcode 16.2 for older apps but Xcode 16.2 does NOT run on Tahoe!!! <\/p>\n<p>This all sucks so much!!111<\/p>\n<\/blockquote>\n\n<p><a href=\"https:\/\/samwize.com\/2026\/03\/30\/xcode-simulator-paste-broken-workaround\/\">J&#x22C3;&#x22C2;D&#x22C0;<\/a>:<\/p>\n<blockquote cite=\"https:\/\/samwize.com\/2026\/03\/30\/xcode-simulator-paste-broken-workaround\/\">\n<p>After updating to Xcode 26.4, paste from Mac to iOS Simulator is completely broken.<\/p>\n<p>[&#8230;]<\/p>\n<p>Write directly to the Simulator&rsquo;s pasteboard with <code>simctl<\/code>:<\/p>\n<pre>echo -n \"your text here\" | xcrun simctl pbcopy booted<\/pre>\n<p>This bypasses the broken Mac-to-Simulator auto-sync. Once run, paste works normally inside the Simulator. You still need another <code>Cmd+V<\/code> to paste into simulator.<\/p>\n<\/blockquote>\n\n<p id=\"xcode-26-4-update-2026-04-03\">Update (<a href=\"#xcode-26-4-update-2026-04-03\">2026-04-03<\/a>): <a href=\"https:\/\/mastodon.social\/@lapcatsoftware\/116330874092312623\">Jeff Johnson<\/a>:<\/p>\n<blockquote cite=\"https:\/\/mastodon.social\/@lapcatsoftware\/116330874092312623\">\n<p>Before and after, Xcode Settings in versions 16 and 26<\/p>\n<p>The damn thing doesn&rsquo;t even fit on my screen anymore!<\/p>\n<\/blockquote>","protected":false},"excerpt":{"rendered":"<p>Apple (xip, downloads): Xcode 26.4 includes Swift 6.3 and SDKs for iOS 26.4, iPadOS 26.4, tvOS 26.4, macOS 26.4, and visionOS 26.4. Xcode 26.4 supports on-device debugging in iOS 15 and later, tvOS 15 and later, watchOS 8 and later, and visionOS. Xcode 26.4 requires a Mac running macOS Tahoe 26.2 or later. There are [&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":"2026-03-25T17:18:19Z","apple_news_api_id":"b6f8d85a-1dcc-4ae1-a2eb-1328f6e00adc","apple_news_api_modified_at":"2026-04-03T14:10:09Z","apple_news_api_revision":"AAAAAAAAAAAAAAAAAAAAAQ==","apple_news_api_share_url":"https:\/\/apple.news\/AtvjYWh3MSuGi6xMo9uAK3A","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":[326,225,30,2742,1670,71,1959,2796,226],"class_list":["post-51362","post","type-post","status-publish","format-standard","hentry","category-programming-category","tag-c-plus-plus","tag-instruments","tag-mac","tag-macos-tahoe-26","tag-pasteboard","tag-programming","tag-simulator","tag-swift-testing","tag-xcode"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/51362","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=51362"}],"version-history":[{"count":3,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/51362\/revisions"}],"predecessor-version":[{"id":51467,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/51362\/revisions\/51467"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=51362"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=51362"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=51362"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}