Build, test, and submit your app using Xcode, Apple's integrated development environment.

Xcode Documentation

Posts under Xcode subtopic

Post

Replies

Boosts

Views

Activity

Assets duplicating on Xcode 26.1 Beta 3
I've recently installed 26.1 Beta 3 alongside stable 26.0.1 When building my app with 26.0.1 the final .ipa size is ~17mb, however after building my app with 26.1 Beta 3 the size has increased up to ~22mb The main difference is Assets.car blowing from 1.1mb to 5.6mb (or 8.6mb if I include all icons settings). Upon examining I've found new liquid glass .icon file duplicating itself multiple times as png variants (any, dark, tinted, etc). Is anyone else experiencing this issue?
9
1
548
3d
Xcode is compiling all Swift files one at a time?
I have two apps; one is a subset of functionality of the other. The smaller app has about 170 Swift files. The larger app has these files plus about 120 more. So I would expect the larger app to take around twice as long to build. Instead, the smaller app takes less than a minute to build while the larger app takes over 13 minutes to build; to be exact, it takes 15.3 times longer. While reviewing the build report, I noticed that the smaller app compiles the Swift files in batches, with each batch taking around 10 seconds, but with up to 17 batches running at once. In contrast, the larger app compiles all 290 Swift files in one giant batch, so apparently there is no multithreading of the Swift compilation (see screen shots below). The difference in the number of batches the smaller app compiles at once roughly corresponds to the difference in overall build time. Is there a build setting I can change to make the larger app compile Swift files in multiple smaller batches as the smaller app is doing? I checked SWIFT_COMPILATION_MODE and it's the same in both apps (Incremental for debugging and Whole Module for release) but I don't know what other settings I should check.
1
0
46
3d
Xcode 26 Butchers Productivity by Making Global the State of Navigators Pane
Here's the text of FB22008758 I've just submitted: Xcode 26 changed the behavior of the Navigators pane (which hopefully is a bug and not an intended behavior). in Xcode 26, if I close (or open) the Navigators pane in a window tab, it closes (or opens) the Navigators pane in ALL window tabs. This is insanely horrible, unproductive, time-wasting behavior that breaks workflows that has been established for many years (I've been using Xcode since 2006). By way of example: In a window tab that contains a .xib, I prefer the Navigators pane to be closed. While in all other window tabs (that contain code files and other items), I want the Navigators pane to be always displayed. Before Xcode 26, the Navigators pane was open or closed in each individual window tab as the user desired. But in Xcode 26, if I close the Navigators pane in one window tab, the pane closes EVERYWHERE. Thus when, for example, I go to a .xib window tab, I have to close the Navigators pane AGAIN. But then when I go back to a code window tab, I have to OPEN the Navigators pane there (because it became closed globally). And have to do this endlessly every day. WHY??? Please restore the normal, pre-26 behavior of the Navigators pane. That is, the Navigators pane should remain open or closed as PER INDIVIDUAL WINDOW TAB, not globally. Thank you for your attention to this important issue!
1
0
51
3d
Broken autocomplete in Xcode 26
Xcode 16 and 26 changes in painful way how the Tab key works during autocomplete. Previously, pressing Tab would extend the typed text up to the word match. For example, we have two classes: NSViewController and NSViewCoordinator BEFORE, typing: "NSV" + Tab used to complete to NSViewCo Now, in Xcode 26, pressing Tab just use the first suggestion. Stupidly. Especially when you want DispatchQueue and it gaves you DispatchSemaphore… That is very inconvenient because very often I want just see all possible cases with some prefix...without need of typing all prefix manually. How to restore the previous behavior? How to do autocomplete word-by-word?
6
0
164
3d
I'am porting my App to Swift 6...
... and I managed to fix most issues coming out, but for a specific issue in an class adopting a protocol; basically it is a support class to be used by the view controller and so I wanted to keep it in background, so I created a new actor and I wanted to use it for this protocol and adopting classes. Yet I came out with a host of errors I have no idea about how to cope with: :
0
0
17
3d
can't get websocket connection working on Apple Watch
I have an app that uses a websocket connection to the Mac on the local network — it works fine on the iphone — it works fine on Apple Watch simulator on a real Apple Watch I get the message nw_endpoint_flow_failed_with_error [C9403 192.168.0.35:10010 failed parent-flow (unsatisfied (Path was denied by NECP policy), interface: ipsec1, ipv4, ipv6, proxy)] already failing, returning I can't find any information on that NECP policy and no cure for this error. Please help me
1
0
32
6d
Apple watch Xcode pairing & connection issues
I’m blocked debugging a watchOS app on a physical Apple Watch. The iPhone connects to Xcode normally (wired), but the Watch either fails to connect with a tunnel timeout or disappears entirely from Xcode after I unpaired it inside Devices & Simulators. Environment Mac: macOS 26.x (Apple Silicon Mac) Xcode: 26.2 iPhone: iOS 26.1 Apple Watch Ultra: watchOS 26.2 (build 23S303) Connection: iPhone connected to Mac via USB (trusted). Watch paired to iPhone and working normally in the Watch app. Issue A (when Watch is visible in Xcode) In Xcode → Window → Devices and Simulators, the Watch shows up but is not usable and fails to connect. Error: “Previous preparation error: A connection to this device could not be established.” “Timed out while attempting to establish tunnel using negotiated network parameters.” In some attempts the Watch shows “Capacity: Unknown” / limited details, and then fails during preparation. Issue B (after unpairing Watch in Xcode only) I unpaired/removed the Watch in Xcode (Devices & Simulators). I did not unpair the Watch from the iPhone. Now: iPhone appears in Xcode and works normally for builds. Watch is still paired to the iPhone and works normally. Watch no longer appears anywhere in Xcode Devices & Simulators (no paired watch section, no watch run destination). What I’ve tried Reboots of Mac, iPhone, Watch (multiple times) Watch unlocked, awake; iPhone unlocked and close to Watch Verified Watch is paired and connected in iPhone Watch app Developer Mode enabled on iPhone and Watch Wi-Fi and Bluetooth ON (Mac/iPhone/Watch), tried toggling both Tried on home Wi-Fi and also with iPhone hotspot (same result) Resetting trust prompts / reconnecting iPhone via USB, re-trusting Mac Apple Watch: “Clear Trusted Computers” Xcode: removing/re-adding devices; clearing derived data; restarting Xcode Watch Developer networking test: Responsiveness = Medium (430 RPM) Questions 1. Is this a known issue/regression with Xcode 26.2 + watchOS 26.2 tunneling (CoreDevice / devicectl)? 2. Is there an Apple-supported way to force Xcode to re-discover a paired Watch after it was removed from Xcode Devices & Simulators (without unpairing the Watch from the iPhone)? 3. Any recommended logs or diagnostic steps I should collect (Console logs, sysdiagnose, specific Xcode/CoreDevice logs) to include in a Feedback report? If helpful, I can provide the full error text from Xcode’s Devices window and any logs you recommend. Thank you in advance,
9
4
753
6d
ShazamKit enabled on App ID but provisioning profiles do not include com.apple.developer.shazamkit entitlement
Hi, I’m a paid Apple Developer Program member and I’m seeing an entitlement issuance issue with ShazamKit. ShazamKit is enabled for my App ID (com.tomharris.dnbidfinder) in Certificates, Identifiers & Profiles. However, every iOS Development provisioning profile I generate does not include the entitlement: com.apple.developer.shazamkit verified this by decoding the downloaded .mobileprovision file: security cms -D -i .mobileprovision | /usr/libexec/PlistBuddy -c "Print :Entitlements" /dev/stdin The entitlement dictionary does not contain the ShazamKit key. Because of this: • The signed .app does not contain the Shazam entitlement • SHSession.match(signature) fails on device • I receive ShazamKit runtime error 201 / 212 I’ve already: • Toggled ShazamKit off and back on for the App ID • Created new provisioning profiles • Created a brand new App ID to test • Refreshed profiles in Xcode The portal UI shows ShazamKit as enabled, but the entitlement is not being issued into provisioning profiles. Has anyone experienced this before? Is there an additional approval step required for ShazamKit, or could this be a backend entitlement propagation issue? Thanks.
0
0
29
1w
Archiving Catalyst project that embeds macOS tool
Hi! I have a Catalyst app that embeds command line utility. So the project has two targets: Catalyst target, this target depends on #2 and embeds it into its bundle. macOS target, the command line tool. Both targets have package dependency to the same package. I used this to embed the CMD tool. Everything builds, runs and works fine until I try to archive the project. Archiving stops early with such error: error: Multiple commands produce '/Users/kse2/Library/Developer/Xcode/DerivedData/PkgTest-clngkndczxoprpdlwefqqiqlryjt/Build/Intermediates.noindex/ArchiveIntermediates/PkgTest/IntermediateBuildFilesPath/UninstalledProducts/macosx/MacrosForSwift.o' note: Target 'MacrosForSwift' (project 'MacrosForSwift') has a command with output '/Users/kse2/Library/Developer/Xcode/DerivedData/PkgTest-clngkndczxoprpdlwefqqiqlryjt/Build/Intermediates.noindex/ArchiveIntermediates/PkgTest/IntermediateBuildFilesPath/UninstalledProducts/macosx/MacrosForSwift.o' note: Target 'MacrosForSwift' (project 'MacrosForSwift') has a command with output '/Users/kse2/Library/Developer/Xcode/DerivedData/PkgTest-clngkndczxoprpdlwefqqiqlryjt/Build/Intermediates.noindex/ArchiveIntermediates/PkgTest/IntermediateBuildFilesPath/UninstalledProducts/macosx/MacrosForSwift.o' What I have tried to fix archiving: Changing PkgTestCMD target to be on Catalyst/iOS instead of macOS. This works but I'm not sure how to properly run CMD tool with iOS SDK (if this correct at all): I need the main thread to be 'unblocked' and be active while background tasks exist. Adding an aux framework that act as container for the package. Doesn't work. Splitting targets into different projects, making workspace and cross-project reference. Doesn't work. My understanding is that archiving attempts to produce .o files for both Catalyst and macOS simultaneously, due to PkgTest being Catalyst and PkgTestCMD being macOS targets. How to archive such a project? Is there a way to separate archiving of CMD and main app? Maybe separate .o files into different directories. Simple building and running the project works, why archiving doesn't want to? I have a test project for the issue: PkgTest. main branch is the source project, DepFramework contains attempt #2, Workspace—#3. Thank you!
2
0
130
1w
Xcode 26 Kills Productivity by Making Global the State of Inspectors Pane
Here's the text of FB22001359 I've just submitted: Xcode 26 changed the behavior of the Inspectors pane (which hopefully is a bug and not an intended behavior). Now, if I close (or open) the Inspectors pane in a window tab, it closes (or opens) the Inspectors pane in ALL tabs. This is insanely horrible, unproductive, time-wasting behavior that breaks workflows that has been established for many years. By way of example: In a window tab that contains a .xib, I always want the Inspectors pane to be open. While in the window tabs that contain code files, I want the Inspectors pane to be closed. (Sometimes I do open it in certain window tabs, when needed). Before Xcode 26, the Inspectors pane was open or closed in each individual tab as the user desired. Now, if I close the Inspectors pane in one window tab, the pane closes EVERYWHERE. Thus when, for example, I go to a .xib window tab, I have to open the Inspectors pane AGAIN. But then when I go back to a code window tab, I have to CLOSE the Inspectors pane there (because it became open globally). And have to do this endlessly every day. WHY??? Please restore the normal, pre-26 behavior of the Inspectors pane. That is, the Inspectors pane should remain open or closed as PER INDIVIDUAL WINDOW TAB, not globally. Thank you for your attention to this important issue!
0
0
51
1w
Xcode 26 is insanely slow
Hey there Just updated to Xcode 26 on mac OS Sequoia (MBP M1 Max 32GB, 2021, so you know, still pretty decent and capable). Xcode is super slow on building, but also on editing. There is a lag between what I type and what is displayed. Am I the only one experiencing this? Is there something I should look into?
1
1
172
1w
When AI leads to lost prompts (26.3)
This was maddening: I had written a very long and detailed prompt, then went to select "Codex" from the drop down menu at the top "start a new conversation", and it wiped out the entire prompt I was working on. Well, of course it did: that drop down is part of the "Start a new Conversation" icon button, but it's position is too far away from the actual icon to infer that is its purpose. It should be a popup that shows the current choice for model (GPT-5, GPT 4.1, Codex). ANOTHER lost prompt problem. If you have a prompt-in-progress (AI is maybe building some code), and Xcode crashes, it might not save that prompt for when you re-launch. And how might that happen? Well, there's still numerous ways using the coding assistanty might crash. One I've notice is if you switch out to another app, or if you invoke a screen capture, it might crash.
2
0
75
1w
Xcode Intelligence Font Size
Dear Friends, Is there a way to increase font size of xcode intelligence window? So the text i write, and the AI response. Why do i need this? I am using 4K monitor and i dont want to make Display setting bigger and lose all screen space.
1
1
93
1w
Claude Code cannot create files in nested folders
Been playing with Claude Code in Xcode 26.3 as a code assistant and discovered it cannot create files in nested folders, only repo root. Letting Claude troubleshoot itself, it appears that str_replace_based_edit_tool strips forward slashes from the path variable. This is what Claude claims to send: <invoke name="str_replace_based_edit_tool"> <parameter name="command">create</parameter> <parameter name="path">/repo/Test App/EntityTestsAttempt3.swift</parameter> <parameter name="file_text"> // ... file contents ... </parameter> </invoke> And the file that gets created is: Test AppEntityTestsAttempt3.swift Anyone else run into this before or can reproduce it?
2
0
84
1w
Not seeing any AI/Agent options in Xcode 26.3
I've installed Xcode 26.3 on Sequoia 15.7.3 but I'm not seeing any of the AI options showing in Xcode that I see in usage/example videos. For example that AI icon in the top left hand corner isn't visible, and if I select Settings there is no Intelligence section, yet there is in all the demo videos. Why am I not seeing any of these new features?
2
1
215
1w
Application Hangs with Nested LazyVStack When Accessibility Inspector is Active
Description I've encountered a consistent hang/freeze issue in SwiftUI applications when using nested LazyVStack containers with Accessibility Inspector (simulator) or VoiceOver (physical device) enabled. The application becomes completely unresponsive and must be force-quit. Importantly, this hang occurs in a minimal SwiftUI project with no third-party dependencies, suggesting this is a framework-level issue with the interaction between SwiftUI's lazy view lifecycle and the accessibility system. Reproduction Steps I've created a minimal reproduction project available here: https://github.com/pendo-io/SwiftUI_Hang_Reproduction To Reproduce: Create a SwiftUI view with the following nested LazyVStack structure: struct NestedLazyVStackView: View { @State private var outerSections: [Int] = [] @State private var innerRows: [Int: [Int]] = [:] var body: some View { ScrollView { LazyVStack(alignment: .leading, spacing: 24) { ForEach(outerSections, id: \.self) { section in VStack(alignment: .leading, spacing: 8) { Text("Section #\(section)") // Nested LazyVStack LazyVStack(alignment: .leading, spacing: 2) { ForEach(innerRows[section] ?? [], id: \.self) { row in Text("Section #\(section) - Row #\(row)") .onAppear { // Load more data when row appears loadMoreInner(section: section) } } } } .onAppear { // Load more sections when section appears loadMoreOuter() } } } } } } Enable Accessibility Inspector in iOS Simulator: Xcode → Open Developer Tool → Accessibility Inspector Select your running simulator Enable Inspection mode (eye icon) Navigate to the view and start scrolling Result: The application hangs and becomes unresponsive within a few seconds of scrolling Expected Behavior The application should remain responsive when Accessibility Inspector or VoiceOver is enabled, allowing users to scroll through nested lazy containers without freezing. Actual Behavior The application freezes/hangs completely CPU usage may spike The app must be force-quit to recover The hang occurs consistently and is reproducible Workaround 1: Replace inner LazyVStack with VStack LazyVStack { ForEach(...) { section in VStack { // ← Changed from LazyVStack ForEach(...) { row in ... } } } } Workaround 2: Embed in TabView TabView { NavigationStack { NestedLazyVStackView() // ← Same nested structure, but no hang } .tabItem { ... } } Interestingly, wrapping the entire navigation stack in a TabView prevents the hang entirely, even with the nested LazyVStack structure intact. Questions for Apple Is there a known issue with nested LazyVStack containers and accessibility traversal? Why does wrapping the view in a TabView prevent the hang? Are there recommended patterns for using nested lazy containers with accessibility support? Is this a timing issue, a deadlock, or an infinite loop in the accessibility system? Why that happens? Reproduction Project A complete, minimal reproduction project is available at: https://github.com/pendo-io/SwiftUI_Hang_Reproduction
4
0
269
1w
iOS Simulator fails to boot (18.6 / 26.1 / 26.2) – launchd_sim could not bind to session
Hi, I’m facing a consistent simulator boot issue that appears to start after iOS 18.2 simulator runtimes and persists in 18.6, 26.1, and 26.2. Observed behavior iOS 18.2 simulator works fine iOS 18.6 simulator does NOT boot iOS 26.1 / 26.2 simulators do NOT boot Tried everything reinstall/clear cache and all and event formatted the system Unable to boot the Simulator NSPOSIXErrorDomain Code: 4 Failure Reason: Interrupted system call Failed to start launchd_sim: could not bind to session, launchd_sim may have crashed or quit responding macOS: Sequoia Xcode: 26.1, 26.2 Machine: Apple Silicon Unable to boot the Simulator. Domain: NSPOSIXErrorDomain Code: 4 Failure Reason: Interrupted system call User Info: { DVTErrorCreationDateKey = "2025-12-26 02:19:27 +0000"; IDERunOperationFailingWorker = "_IDEInstalliP.honeSimulatorWorker", Session = "com apple CoreSimulator.SimDevice CCDECA56-4A59-491B-A830-0F3928FCD957"; } Failed to start launchd_sim: could not bind to session, launchd_sim may have crashed or quit responding Domain: com.apple.SimLaunchHostService.RequestError Code: 4 Event Metadata: com.apple. dt. DERunOperationWorkerFinished : { "device_identifier" = "CCDECAE6-4A59-491B-A830-0E3928FCD957"; "device_model" = "iPhone18, 1"; "device_osBuild" = "26.1 (23B86)"; "device_osBuild_monotonic" = 2301008600; "device_os_variant" = 1; "device_platform" = "com apple.platform.iohonesimulator"; "device_platform_family" = 2; "device_reality" = 2; "device_thinningType" = "iPhone18,1"; "device_transport" = 4; "launchSession_schemeCommand" = Run; "launchSession_schemeCommand_enum" = 1; "launchSession_targetArch" = arm64; "launchSession_targetArch_enum" = 6; "operation_duration_ms" = 1183; "operation_errorCode" = 4; "operation_errorDomain" = NSPOSIXErrorDomain; "operation_errorWorker" = "_IDEInstalliPhoneSimulatorWorker"; "operation_error_reportable" = 1; "operation_name" = IDERunOperationWorkerGroup; "param_consoleMode" = 1; "param_debugger_attachToExtensions" = 0; "param_debugger_attachToXPC" = 1; "param_debugger_type" = 3; "param_destination_isProxy" = 0; "param_destination_platform" = "com apple platform Please help on this as it got stuck. Thanks
6
5
762
1w