Some Macs recently received a macOS system update which disabled the simulator runtimes used by Xcode 15, including the simulators for iOS, tvOS, watchOS, and visionOS. If your Mac received this update, you will receive the following error message and will be unable to use the simulator:
The com.apple.CoreSimulator.SimRuntime.iOS-17-2 simulator runtime is not available.
Domain: com.apple.CoreSimulator.SimError
Code: 401
Failure Reason: runtime profile not found using "System" match policy
Recovery Suggestion: Download the com.apple.CoreSimulator.SimRuntime.iOS-17-2 simulator runtime from the Xcode
To resume using the simulator, please reboot your Mac. After rebooting, check Xcode Preferences → Platforms to ensure that the simulator runtime you would like to use is still installed. If it is missing, use the Get button to download it again.
The Xcode 15.3 Release Notes are also updated with this information.
Xcode
RSS for tagBuild, test, and submit your app using Xcode, Apple's integrated development environment.
Posts under Xcode tag
200 Posts
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
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.
I'm on macOS Sequoia Version 15.7.3 (24G419) and using Xcode Version 26.2 (17C52).
In my Xcode project, Transaction.updates and Product.SubscriptionInfo.Status.updates don’t seem to emit updates reliably.
The code below works consistently in a fresh Xcode project using a minimal setup with a local StoreKit Configuration file containing a single auto-renewable subscription.
class InAppPurchaseManager {
static let shared = InAppPurchaseManager()
var transactionTask: Task<Void, Never>?
var subscriptionTask: Task<Void, Never>?
init() {
print("Launched InAppPurchaseManager...")
transactionTask = Task(priority: .background) {
for await result in Transaction.updates {
print("\nReceived transaction update...")
try? await result.payloadValue.finish()
}
}
subscriptionTask = Task(priority: .background) {
for await result in Product.SubscriptionInfo.Status.updates {
print("\nReceived subscription update...")
print("state:", result.state.localizedDescription)
}
}
}
}
I initialise it in:
func applicationDidFinishLaunching(_ aNotification: Notification) {
_ = InAppPurchaseManager.shared
}
I do not build any UI for this test. I open StoreKit Transaction Manager then click Create Transaction → select the product → choose Purchase (Default) → Next → Done. The console shows that it detects the initial purchase, renewals and finishes each transaction.
It also works even if I do not add the In-App Purchase capability.
In my actual project, the initial purchase is detected and finished, but renewals are not detected. Subsequent transactions then appear as unverified, presumably because the updates are not being observed so the transactions are not being finished.
What can I do to make this work reliably in my actual project?
For context, in the actual project:
I have a StoreKit Configuration file that is synced with App Store Connect
The In-App Purchase capability is enabled
The configuration file is selected in the scheme
The products in App Store Connect show “Ready to Submit”
Loading products works:
try await Product.products(for: ...)
Also, I use ProductView for the purchase UI. The first purchase works and is detected and finished, but subsequent renewals are not finished because the updates do not seem to be emitted.
Our app supports UIScene. As a result, launchOptions in application(_:didFinishLaunchingWithOptions:) is always nil.
However, the documentation mentions that UIApplication.LaunchOptionsKey.location should be present when the app is launched due to a location event.
Given that our app is scene-based:
How can we reliably determine whether the app was launched due to a location update, geofence, or significant location change?
Is there a recommended pattern or API to detect this scenario in a Scene-based app lifecycle?
This information is critical for us to correctly initialize location-related logic on launch.
Relevant documentation:
https://developer.apple.com/documentation/corelocation/cllocationmanager/startmonitoringsignificantlocationchanges()
I'm building an app which runs around the Foundation model framework. My expected output is generated when testing on a real device or in preview in Xcode but it throws Foundation Model error when I try running it on the simulator. I'm using a Macbook M1 air and have apple intelligence turned on and my simulator run destination is also an iPad Pro M5 (26.0).
Any solution for this as this is my submission for the SSC so I need to make it work on the simulator iPad.
Thank you👾
Topic:
Developer Tools & Services
SubTopic:
Swift Playground
Tags:
Swift Student Challenge
Xcode
Simulator
Apple Intelligence
Hi everyone,
I am struggling with a persistent issue regarding my Developer Program membership and Xcode syncing.
Even though the Apple Developer Portal shows that my developer license is active and I have full access to App Store Connect, it is unfortunately not possible to sign applications with this account. It behaves as if the license wasn't active.
The Symptoms:
-Portal status: Active (Account Holder/Admin),
-Xcode Settings: When I navigate to Settings > Accounts and select my team, there is a Red X displayed next to "Certificates, Identifiers & Profiles.",
Xcode suggests there is an issue accessing these resources and I cannot sign any binaries. Confirmed the membership is active in the web portal. Everything seems configured correctly on the web side, but the account simply doesn't work locally in Xcode.
Has anyone faced this specific "Red X" issue despite a valid membership? Is there a specific cache I need to clear or a way to force Xcode to re-fetch the correct status?
Any advice on how to resolve this loop would be greatly appreciated. Thanks! :)
Topic:
Developer Tools & Services
SubTopic:
Xcode
Tags:
Xcode
Provisioning Profiles
Signing Certificates
Code Signing
Hello,
We are experiencing a recurring issue when running iOS apps in the Rosetta simulator on Xcode 26.
Environment:
Xcode: 26.0
macOS: 15.7.3
Simulator: Intel-based (Rosetta) simulators
Languages: Both Swift and Objective-C
Issue:
When launching an app in a Rosetta simulator, the app frequently freezes or fails to run. In many cases, Xcode reports that the debugger has lost connection.
Xcode error message:
Lost connection to the debugger on “iPhone 12”.
Domain: IDEDebugSessionErrorDomain
Code: 22
Failure Reason: Message from debugger: lost connection
Console log:
assertion failed: GPR thread_set_state is unimplemented for NewThread
(ThreadContextRegisterState.cpp:920 host_gpr_state_from_guest_state)
Observed behavior:
Rebuilding after fully quitting the simulator sometimes resolves the issue temporarily.
Disabling Scheme > Run > Debug executable allows the app to run normally, but debugging (breakpoints, etc.) becomes unavailable.
The issue does not occur:
On real devices
On ARM-based simulators
When building with Xcode 16 using Rosetta
Has anyone encountered this issue with Xcode 26 and Rosetta simulators? Is this a known bug, and are there any recommended workarounds besides disabling the debugger or restarting the simulator?
Thank you in advance for any insights or guidance.
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,
We are encountering a build and archive failure in Xcode after updating our development machine to macOS 26.2.
Environment:
macOS: 26.2
Xcode: 16.2
iOS Deployment Target / Runtime: iOS 18.5
App Type: Production iOS app (App Store distribution)
Issue:
Before updating macOS, the project built and archived successfully. After the macOS 26.2 update, archiving fails consistently, even though no major changes were made to the project code or configuration.
Certificates, provisioning profiles, and signing settings are correctly configured. The issue appears to be related to the macOS/Xcode environment rather than application logic.
Steps to Reproduce:
Open the existing iOS project in Xcode 16.2.
Select the App Store distribution scheme.
Attempt to Archive the project.
Archive/build fails.
Expected Result:
Successful archive allowing upload to App Store Connect.
Actual Result:
Archive fails after macOS 26.2 update.
Additional Info:
This post is linked to Apple Developer Technical Support Case-ID: 18413014.
Topic:
Developer Tools & Services
SubTopic:
Xcode
Tags:
Developer Tools
Xcode
macOS
Organizer Window
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?
Following is an error I encounter when trying to run a foundation model function in simulator.
Error Domain=FoundationModels.LanguageModelSession.GenerationError Code=-1 "(null)" UserInfo={NSMultipleUnderlyingErrorsKey=(
"Error Domain=ModelManagerServices.ModelManagerError Code=1026 "(null)" UserInfo={NSMultipleUnderlyingErrorsKey=(\n)}"
)}
Its a swift playground I'm building in xcode and works fine in the preview and on a real device too but since it's my submission for the swift student challenge I need it to run on the simulator.
I have updated my macOS to latest version of Tahoe(26.3) and Xcode is also on latest version. The simulator I run the playground is also on ios and iPadOS 26.
I have set my region to US and have turned on Apple Intelligence on my mac too.
Any suggestions on how to fix the issue?👾
Topic:
Developer Tools & Services
SubTopic:
Xcode
Tags:
Swift Student Challenge
Xcode
Simulator
Apple Intelligence
Are there workarounds for the following bugs in Xcode 16.3?
I'm looking for workarounds instead of trying newer versions of Xcode because, from what I read, the Xcode release notes do not mention these issues being fixed.
First bug:
Resizing a NSSplitView in the UI Editor is buggy. When you try to use the divider, it just does not work as expected. In the case of a vertical split, the bottom view gets shrunk whatever you try to do.
Second bug:
When you type:
(IBAction) in the source editor, you get the following buggy template (extra ')' on the right):
- (IBAction)<#selector#>:(id)sender)
Description
On iOS 26.1, a ToolbarItem placed in .keyboard is no longer exposed to the accessibility hierarchy. As a result:
VoiceOver cannot focus or activate the toolbar button
XCUITest cannot discover the element, making the UI impossible to test
TextEditor()
.toolbar {
ToolbarItem(placement: .keyboard) {
Button("Done") { /* action */ }
}
}
This worked correctly on previous iOS versions.
The button appears visually but is missing from both VoiceOver navigation and XCUI accessibility queries.
Steps to Reproduce
Create a new SwiftUI project.
Use a simple text field with a keyboard toolbar button.
Run on an iOS 26.1 device or simulator.
Focus the text field to show the keyboard.
Turn on VoiceOver and attempt to navigate to the toolbar button.
Run an XCUITest attempting to locate the button
Hello,
I am trying out Xcode Cloud for the first time. I could connect to Github in the initial setup and had a few failed builds (package resolution error), which I resolved fairly quickly.
Now whenever I am trying to build, I get the following error:
Xcode Cloud is unable to connect to the repository “<respository-name>”. Reconnect the repository to resume builds.
I am unable to remove the connection from settings as well because it's stuck in a loading state. Is there a way to fix this?
I am reporting a regression/behavioral change in the SwiftUI layout engine when building with Xcode 26 (iOS 26 SDK).
In previous versions (Xcode 15/16 and iOS 17/18 SDKs), a TabView using .tabViewStyle(.page(indexDisplayMode: .never)) correctly respected the coordinate space when combined with .edgesIgnoringSafeArea(.vertical).
However, when compiling with the iOS 26 SDK, the internal views of the TabView render "out of bounds," pushing content vertically beyond the intended safe area boundaries and causing UI overlapping/clipping - an abnormal behavior.
TabView(selection: $selectedIndex) {
ForEach(0..<data.count, id: \.self) { index in
nextPreviousHandlerView(id: data[index])
.tag(index)
}
}
.tabViewStyle(.page(indexDisplayMode: .never))
.edgesIgnoringSafeArea(.vertical) // Causes vertical "jump" out of bounds in Xcode 26
I am trying to sign my Mac app to use Network Extensions capability. But every time I create a profile it displays that to me:
on the other hand on the website it displays this to me:
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!
When completing signing on Xcode, it shows the following error message "No certificate for team '' matching 'Developer ID Application' found"
I have already followed the steps to generate a certificate from keychain and made a new certificate on developer portal, along with its associated provisioning profile.
Viewing "Manage Certificate" window shows the newly created certificate, but Xcode seems to not be able to locate it.
Topic:
Code Signing
SubTopic:
Certificates, Identifiers & Profiles
Tags:
Xcode
Signing Certificates
Code Signing
When building in Xcode on MacOS Tahoe, it seems it is no longer possible to dynamically specify a "small" size toolbar for NSToolbar/NSToolbarItem. It works in MacOS code compiled and linked on earlier systems.
I don't want to use "SFSymbol", or "templates". I have over 60 custom-made .png toolbars, in individual Image Set files, at the previous requisite sizes of 24x24 / 48x48, and 32x32 / 64x64.
Sure -- I can configure an NSToolbar with whatever size .png assets I want. I just can't dynamically switch between the two groups of sizes.
According to the Apple Coding Assistant, the only solution is to change the image names of each of the NSToolbarItems at runtime.
OK -- but even when attempting that, the NSToolbarItems refuse to take on their smaller size...
...unless: they are attached to a custom view NSToolbarItem with an NSButton of style "Bevel". I have about 10 of those, and YES -- I CAN change those to a "small" size. Is this REALLY what I'm forced to do?!
The Apple Coding Assistant just runs me around in circles, making coding suggestions that include properties that don't exists.
I've gone around and around on these issues for over a week -- it can't be this hard, right? Is there no way to make multiple NSToolbar objects, one for "large" and one for "small"?
I'm attempting to use Cloud Signing to export the Release version of 3 different apps for App Store, as described in https://developer.apple.com/videos/play/wwdc2021/10204/
The process completes successfully, and appears to be signed correctly, with a newly-created certificate in the developer portal of type "Distribution Managed".
When I upload to App Store Connect however, I see the following error for several third-party Swift packages, distributed as frameworks:
Validation failed (409) Invalid Signature. Code failed to satisfy specified code requirement(s). The file at path “MyApp.app/Frameworks/MyFramework.framework/MyFramework” is not properly signed. Make sure you have signed your application with a distribution certificate, not an ad hoc certificate or a development certificate. Verify that the code signing settings in Xcode are correct at the target level (which override any values at the project level). Additionally, make sure the bundle you are uploading was built using a Release target in Xcode, not a Simulator target. If you are certain your code signing settings are correct, choose “Clean All” in Xcode, delete the “build” directory in the Finder, and rebuild your release target. For more information, please consult https://developer.apple.com/support/code-signing.
If I have a manually created Distribution certificate installed in the keychain at the point of export, the same archive is signed with that certificate, and is accepted by App Store Connect without issue.
The xcodebuild command I am using (roughly):
xcodebuild -exportArchive \
-archivePath "$ARCHIVE_PATH" \
-exportPath "$EXPORT_PATH" \
-exportOptionsPlist "$EXPORT_OPTIONS" \
-authenticationKeyPath "$API_KEY" \
-authenticationKeyID "$API_KEY_ID" \
-authenticationKeyIssuerID "$API_KEY_ISSUER" \
-allowProvisioningUpdates
The plist:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "<http://www.apple.com/DTDs/PropertyList-1.0.dtd>">
<plist version="1.0">
<dict>
<key>method</key>
<string>app-store-connect</string>
<key>teamID</key>
<string>$TEAM</string>
<key>uploadSymbols</key>
<true/>
<key>signingStyle</key>
<string>automatic</string>
</dict>
</plist>
Is what I’m trying to do supported? Is this a bug?
Topic:
Developer Tools & Services
SubTopic:
Xcode Cloud
Tags:
App Store Connect
Xcode
App Store Connect API
Code Signing
Hi,
I’m seeing an unexpected change in how XCTFail behaves in UI tests after updating Xcode.
I use the following helper method:
`func waitForExistance(file: StaticString, line: UInt) -> Self {
if !(element.exists || element.waitForExistence(timeout: Configuration.current.predicateTimeout)) {
XCTFail("couldn't find element: \(element) after \(Configuration.current.predicateTimeout) seconds",
file: file,
line: line)
return self
} else {
return self
}
}`
In Xcode 16.4, this worked as expected:
– when an element wasn’t found, XCTFail was triggered, but the test continued running, allowing my retry logic to execute.
After updating to Xcode 26.1 / 26.2 - the test now immediately aborts after XCTFail, without executing the next retry.
The logs show:
`t = 113.22s Tear Down
t = 113.22s Terminate com.viessmann.care:81789
*** Assertion failure in -[UITests.Tests _caughtUnhandledDeveloperExceptionPermittingControlFlowInterruptions:caughtInterruptionException:whileExecutingBlock:], XCTestCase+IssueHandling.m:273
Test Case '-[UITests.Tests test_case]' failed (114.323 seconds).
Flushing outgoing messages to the IDE with timeout 600.00s
Received confirmation that IDE processed remaining outgoing messages`
It looks like XCTFail in Xcode 26 is now treated as an unhandled developer exception, which stops the test execution immediately, even when it’s called inside a helper method. This was not the case in earlier versions.
My questions:
Is this a regression in XCTest?
Or an intentional change in how XCTFail behaves in newer Xcode versions?
Should failures now be reported differently (e.g., using record(.init(type: .assertionFailure, …))) if I want to continue the test instead of aborting it?
I would like to restore the previous behavior where the failure is logged without terminating the entire test, so my retry mechanism can still run.
Has anyone else run into this after upgrading?
Thanks in advance!
If you’d like, I can also add recommended workarounds that actually work with Xcode 16.4 (e.g., replacing XCTFail with a non-terminating issue record).