{"id":43214,"date":"2024-05-13T15:47:53","date_gmt":"2024-05-13T19:47:53","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=43214"},"modified":"2025-08-11T13:03:51","modified_gmt":"2025-08-11T17:03:51","slug":"xcode-15-4","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2024\/05\/13\/xcode-15-4\/","title":{"rendered":"Xcode 15.4"},"content":{"rendered":"<p><a href=\"https:\/\/developer.apple.com\/documentation\/xcode-release-notes\/xcode-15_4-release-notes\">Apple<\/a> (<a href=\"https:\/\/developer.apple.com\/services-account\/download?path=\/Developer_Tools\/Xcode_15.4\/Xcode_15.4.xip\">direct download<\/a>):<\/p>\n<blockquote cite=\"https:\/\/developer.apple.com\/documentation\/xcode-release-notes\/xcode-15_3-release-notes\">\n<p>Xcode 15.4 supports simulating web distribution while running or testing your app.<\/p>\n<p>[&#8230;]<\/p>\n<p>Some Macs recently received a macOS system update which disabled the simulator runtimes used by Xcode, including the simulators for iOS, tvOS, watchOS, and visionOS. [&#8230;] To resume using the simulator, please reboot your Mac. After rebooting, check Xcode Settings &#x2192; Platforms to ensure that the simulator runtime you would like to use is still installed.<\/p>\n<\/blockquote>\n\n<p>The download link was showing a 403 Forbidden error for much of the day but now seems to work.<\/p>\n\n<p>I&rsquo;m not seeing fixes mentioned for the <a href=\"https:\/\/mjtsai.com\/blog\/2024\/03\/06\/xcode-15-3\/\">issues reported with Xcode 15.3<\/a>.<\/p>\n\n<p>Previously:<\/p>\n<ul>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2024\/03\/13\/web-distribution-of-ios-apps-in-eu\/\">DMA Compliance: Web Distribution of iOS Apps in EU<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2024\/03\/06\/xcode-15-3\/\">Xcode 15.3<\/a><\/li>\n<\/ul>\n\n<p id=\"xcode-15-4-update-2024-05-15\">Update (2024-05-15): <a href=\"https:\/\/mastodon.social\/@davedelong\/112430589535537736\">Dave DeLong<\/a>:<\/p>\n<blockquote cite=\"https:\/\/mastodon.social\/@davedelong\/112430589535537736\"><p>I pretty firmly believe that Swift&rsquo;s tooling is an existential threat to the entire language. It&rsquo;s so tightly coupled to Xcode, and what you get there is a mixed bag. Stale warnings persist for ages, which means newcomers can&rsquo;t even <em>trust<\/em> that what they&rsquo;re seeing is accurate. How is anyone supposed to learn?<\/p><\/blockquote>\n<p>The stale warnings still aren&rsquo;t fixed in Xcode 15.4.<\/p>\n\n<p>See also: <a href=\"https:\/\/forums.swift.org\/t\/10-years-on-what-would-you-change-about-swift\/71716\">10 years on, what would you change about Swift?<\/a>.<\/p>\n\n<p><a href=\"https:\/\/mastodon.social\/@stroughtonsmith\/112425521008665576\">Steve Troughton-Smith<\/a>:<\/p>\n<blockquote cite=\"https:\/\/mastodon.social\/@stroughtonsmith\/112425521008665576\"><p>The answer, which I&rsquo;m sure you&rsquo;re dying to know, is that the current version of Xcode and Swift 5.9 can compile an app for iOS 7.<\/p><p>The major caveat being no armv7 support &mdash; which means you can only build for 64-bit, so the only possible device this could ever run on is a non-upgraded iPhone 5s.<\/p><p>You also have to substitute in a bunch of arclite libraries into the SDK, which are trivial to find if you go looking<\/p><\/blockquote>\n\n<p><a href=\"https:\/\/mastodon.cloud\/@drewmccormack\/112432823851074628\">Drew McCormack<\/a>:<\/p>\n<blockquote cite=\"https:\/\/mastodon.cloud\/@drewmccormack\/112432823851074628\"><p>Why is working with crashes in Xcode still so torturous? I am using vanilla everything from Xcode Cloud down. Completely standard. And yet crashes simply don&rsquo;t show up, or show up in AppStoreConnect but not in Xcode, and when they do, they are not symbolicated. It&rsquo;s pretty fundamental stuff.<\/p><\/blockquote>\n\n<p id=\"xcode-15-4-update-2024-05-17\">Update (2024-05-17): <a href=\"https:\/\/mastodon.social\/@jsq\/112452441925680503\">Jesse Squires<\/a>:<\/p>\n<blockquote cite=\"https:\/\/mastodon.social\/@jsq\/112452441925680503\">\n<p>I guess no one who works at Apple has ever used git branches with Xcode and SwiftPM.<\/p>\n<p>This <a href=\"https:\/\/forums.swift.org\/t\/missing-package-product-error-for-all-local-swift-packages-when-switching-git-branches\/38041\">4 year old bug<\/a> is still not fixed.<\/p>\n<\/blockquote>\n\n<p><a href=\"https:\/\/mastodon.social\/@eternalstorms\/112449565694830213\">Matthias Gansrigler<\/a>:<\/p>\n<blockquote cite=\"https:\/\/mastodon.social\/@eternalstorms\/112449565694830213\">\n<p>Interface Builder got very buggy in Xcode 15.4&#8230;<\/p>\n<\/blockquote>\n\n<p id=\"xcode-15-4-update-2024-05-20\">Update (2024-05-20): <a href=\"https:\/\/x.com\/ConfusedVorlon\/status\/1791811019083264188\">Rob Jonson<\/a>:<\/p>\n<blockquote cite=\"https:\/\/x.com\/ConfusedVorlon\/status\/1791811019083264188\">\n<p>Sometimes XCode likes to bring back old errors - little happy memories.<br \/>\nSometimes the build fails - and you just need to build again.<br \/>\nSometimes, you need to clean the Build Folder and build again.<\/p>\n<p>Sometimes - Issues are real.<\/p>\n<p>Annoying that you can&rsquo;t easily tell the difference.<\/p>\n<p>Special bonus - those fake errors also show up in the build log &#x1F92A;<\/p>\n<\/blockquote>\n\n<p id=\"xcode-15-4-update-2024-05-29\">Update (2024-05-29): <a href=\"https:\/\/mastodon.social\/@davedelong\/112514619417124223\">Dave DeLong<\/a>:<\/p>\n<blockquote cite=\"https:\/\/mastodon.social\/@davedelong\/112514619417124223\"><p>Today is one of those days where the state of Swift tooling is REALLY getting to me. Command-click is totally broken. There are no docs. The Swift forum threads I find are years out of date.<\/p><p>All I want is to wrap a C library in a swift package and include &ldquo;.\/configure&rdquo; as part of its build process. Apparently this is impossible, even though this is rudimentary stuff.<\/p><p>The Javascript ecosystem is looking MIGHTY APPEALING right now. I can&rsquo;t believe we put up with this.<\/p><\/blockquote>\n\n<p id=\"xcode-15-4-update-2024-05-30\">Update (2024-05-30): <a href=\"https:\/\/x.com\/atow\/status\/1795897181423153183\">Adam Tow<\/a>:<\/p>\n<blockquote cite=\"https:\/\/x.com\/atow\/status\/1795897181423153183\">\n<p>Apps built with Xcode 15.4 may have broken AppIntents (i.e. Shortcuts actions) when run on iOS 16 and iPadOS 16.<\/p>\n<p>[&#8230;]<\/p>\n<p>Found a workaround from Xcode 15.3 release notes[&#8230;]<\/p>\n<\/blockquote>\n\n<p id=\"xcode-15-4-update-2024-06-12\">Update (2024-06-12): <a href=\"https:\/\/aus.social\/@nighthawk\/112284847029786912\">Adrian Sch&ouml;nig<\/a>:<\/p>\n<blockquote cite=\"https:\/\/aus.social\/@nighthawk\/112284847029786912\"><p>If you get this error: &ldquo;The server declined to authorize this image on this device for this user.&rdquo; errors when trying to run on a device&rdquo;, then delete your <tt>~\/Library\/Developer\/Xcode\/[OS] DeviceSupport<\/tt> folder.<\/p><\/blockquote>\n\n<p><a href=\"https:\/\/developer.apple.com\/documentation\/xcode-release-notes\/xcode-15-release-notes\">Xcode 15<\/a> included a bug (114820860) where Swift apps would crash at launch on macOS 10.13:<\/p>\n<blockquote cite=\"https:\/\/developer.apple.com\/documentation\/xcode-release-notes\/xcode-15-release-notes\"><p><strong>Workaround:<\/strong> Add <code>$(TOOLCHAIN_DIR)\/usr\/lib\/swift-5.0\/macosx\/libswiftAppKit.dylib<\/code> to the Other Linker Flags build setting in Xcode. This should be removed when the deployment target is increased to 10.14 or later.<\/p><\/blockquote>\n<p>This was since fixed, but I found a similar bug (FB13820420), still in Xcode 15.4, where Swift apps that <a href=\"https:\/\/mjtsai.com\/blog\/2023\/06\/08\/network-path-monitoring\/\">use the Network framework<\/a> crash at launch on macOS 10.13 through 13.x (when <a href=\"https:\/\/github.com\/apple\/swift\/issues\/68163\">using the 10.13 deployment target<\/a>). A similar workaround of adding <code>$(TOOLCHAIN_DIR)\/usr\/lib\/swift-5.0\/macosx\/libswiftNetwork.dylib<\/code> helps.<\/p>\n\n<p><a href=\"https:\/\/iosdev.space\/@adam\/112582687741877006\">Adam Overholtzer<\/a>:<\/p>\n<blockquote cite=\"https:\/\/iosdev.space\/@adam\/112582687741877006\">\n<p>It&rsquo;s more than a little frustrating we&rsquo;re about to start a new beta cycle without getting a stable release of last year&rsquo;s macOS or Xcode (especially Xcode).<\/p>\n<\/blockquote>\n\n<p id=\"xcode-15-4-update-2025-08-11\">Update (<a href=\"#xcode-15-4-update-2025-08-11\">2025-08-11<\/a>): Apple reported to me that the <code>libswiftNetwork.dylib<\/code> bug (FB13820420) is fixed, but it still seems to be present in Xcode 26 Beta 5.<\/p>\n\n<p>Previously:<\/p>\n<ul>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2025\/08\/06\/xcode-26-beta-5\/\">Xcode 26 Beta 5<\/a><\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>Apple (direct download): Xcode 15.4 supports simulating web distribution while running or testing your app. [&#8230;] Some Macs recently received a macOS system update which disabled the simulator runtimes used by Xcode, including the simulators for iOS, tvOS, watchOS, and visionOS. [&#8230;] To resume using the simulator, please reboot your Mac. After rebooting, check Xcode [&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-05-13T19:47:56Z","apple_news_api_id":"4a55dce1-6f4e-4749-b0b1-70330800c52a","apple_news_api_modified_at":"2025-08-11T17:03:54Z","apple_news_api_revision":"AAAAAAAAAAAAAAAAAAAACw==","apple_news_api_share_url":"https:\/\/apple.news\/ASlXc4W9OR0mwsXAzCADFKg","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":[2],"tags":[30,2385,71,1686,1959,901,2569,226],"class_list":["post-43214","post","type-post","status-publish","format-standard","hentry","category-technology","tag-mac","tag-macos-14-sonoma","tag-programming","tag-shortcuts","tag-simulator","tag-swift-programming-language","tag-web-distribution-of-ios-apps","tag-xcode"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/43214","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=43214"}],"version-history":[{"count":13,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/43214\/revisions"}],"predecessor-version":[{"id":48849,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/43214\/revisions\/48849"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=43214"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=43214"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=43214"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}