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
201 Posts
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
My app start up has became horrid. It takes 1 minute to open SQLlite database for my rust core. Impossible to work...
I have Address Sanitizer, Thread Perf Checker and Thread Sanitizer disabled...
We’re facing an issue with Xcode 26.1 where code coverage is not being generated. All our test cases run and pass successfully, but the .xccovreport / .xccovarchive files are never produced.
Code coverage is enabled in the scheme, and this setup used to work correctly in earlier Xcode versions. We are trying to determine whether this is a configuration issue on our end or a possible Xcode 26.1 bug.
Is anyone else experiencing the same problem with code coverage in Xcode 26.1?
Any insights or workarounds would be appreciated.
I'm starting a new project in Xcode, but the Team ID in the "Signing and Capabilities" section for iOS is different from the one on the website. Is this a problem? Why does Xcode automatically send a different ID when signing?
I have been using Xcode Version 26.1.1 on macOS Tahoe Version 26.1. In VIM mode, whenever I quickly tap d twice, to delete the complete line, most of the time Xcode crashes. Is anyone else facing this issue? Should I move to any older version of Xcode or any other solve for this?
The latest version of Xcode available on:
https://developer.apple.com/download/applications/
is Xcode 26.2 build 17C52.
It was released today, December 12, 2025.
However, uploads are failing with error:
Validation failed. This bundle is invalid. Apple is not currently accepting applications built with this version of Xcode.
I have verified my Xcode is not beta:
I think that at least the non-release candidate, latest version of Xcode should be allowed to submit apps.
Xcode 26.2 RC has been out for over 24 hours and it's still not possible to submit apps.
I'm making a wrapper library to abstract away some of the 'missing platform support' of DeclaredAgeRange until hopefully it expands to additional platforms.
When I'm trying to fully enumerate all of the cases of AgeRangeDeclaration, which they all state available starting 26.0 (mysteriously added in Xcode 26.2 beta), the app crashes due to a missing symbol at launch time. This happens both for Xcode 26.1, 26.2 beta 2, and matching Xcode Cloud builds. So I've isolated it beyond "doesn't work on my machine".
I just made a handful of crashes and attached a sysdiagnose to a fresh feedback.
FB21121092 - DeclaredAgeRange: Eligibility property and new declaration cases unavailable on iOS 26.1 device contradicting documentation - causes runtime symbol not found crash
If anyone is curious what these crashes look like I've attached the DiagnosticPayload.jsonRepresentation() generated from one of my favorite frameworks, MetricKit.
Very clearly articulated in the diagnostic metadata you can see the symbol not found.
"diagnosticMetaData" : {
"platformArchitecture" : "arm64e",
"terminationReason" : "Symbol not found: _$s16DeclaredAgeRange0bC7ServiceV0bC11DeclarationO14paymentCheckedyA2EmFWC\nReferenced from: <1894EDCB-3263-3604-8938-97D465FF3720> \/Volumes\/VOLUME\/*\/PerformanceOrganizer.app\/PerformanceOrganizer\nExpected in: <B8FD2C23-0CC9-3D94-902D-875900307A7A> \/System\/Library\/Frameworks\/DeclaredAgeRange.framework\/DeclaredAgeRange",
"exceptionType" : 10,
"appBuildVersion" : "745",
"isTestFlightApp" : true,
"osVersion" : "iPhone OS 26.1 (23B85)",
"bundleIdentifier" : "dev.twincitiesapp.performanceorganizer",
"deviceType" : "iPhone18,1",
"exceptionCode" : 0,
"signal" : 6,
"regionFormat" : "US",
"appVersion" : "2.0.0",
"pid" : 22987,
"lowPowerModeEnabled" : false
}
DiagnosticPayload.json
This is the offending code in a type I control and make available on other platforms but leave unused.
extension AgeRangeDeclaration {
// A factory or initializer that takes the AgeRangeService.AgeRangeDeclaration and maps to the common AgeRangeDeclaration type
public init?(platform value: AgeRangeService.AgeRangeDeclaration?) {
guard let value else {
return nil
}
switch value {
// Xcode 26.1 visible cases
case .selfDeclared:
self = .selfDeclared
case .guardianDeclared:
self = .guardianDeclared
// Xcode 26.2 visible cases
// This is the first culprit, all of the following symbols would crash, this is just the first
case .checkedByOtherMethod:
self = .checkedByOtherMethod
case .guardianCheckedByOtherMethod:
self = .guardianCheckedByOtherMethod
case .governmentIDChecked:
self = .governmentIDChecked
case .guardianGovernmentIDChecked:
self = .guardianGovernmentIDChecked
case .paymentChecked:
self = .paymentChecked
case .guardianPaymentChecked:
self = .guardianPaymentChecked
@unknown default:
// Apple added new cases in Xcode 26.2 betas that were available in iOS 26.0,
// so it is probable that this could happen again. If it does, assert to let developers
// bring it to my attention.
assertionFailure("Invalid or out of date knowledge of age range declaration \(value)")
self = .unknown
}
}
}
For what it is worth, the same is also true for isEligibleForAgeFeatures which I suspect was also added to Xcode 26.2 somehow but not made available to real devices running [26.0 - 26.2).
As a side note, thank you for this property, it will let me check what states I need to perform extra checks for in a clean way, I just will need it to now not crash my app on 26.0 and 26.1 runtime devices. :)
Edit:
DTS did confirm on a comment I had in another thread that this is a bug. Now just to wait for an Xcode beta update. https://developer.apple.com/forums/thread/807906?answerId=867205022#867205022
In any case, this is a great example of how MetricKit totally rocks capturing things other off the shelf crash tools might not have a chance to get. I did have to roll back my TestFlight to an earlier build, but MetricKit was there to send me the previous crashes as soon as the app could launch. Thanks MetricKit team!
Topic:
App Store Distribution & Marketing
SubTopic:
General
Tags:
MetricKit
Beta
Xcode
Declared Age Range
"EnableLiveAssetServerV2-com.apple.MobileAsset.MetalToolchain" = on;
ProductName: macOS
ProductVersion: 26.0.1
BuildVersion: 25A362
The MetalToolchain is installed, however I keep getting error that MetalToolchain cannot be found by the Xcode
"Command CompileMetalFile failed with a nonzero exit code"
error: error: cannot execute tool 'metal' due to missing Metal Toolchain; use: xcodebuild -downloadComponent MetalToolchain
❯ xcodebuild -downloadComponent MetalToolchain
2025-10-31 11:18:29.004 xcodebuild[6605:45524] IDEDownloadableMetalToolchainCoordinator: Failed to remount the Metal Toolchain: The file “com.apple.MobileAsset.MetalToolchain-v17.1.324.0.k9JmEp” couldn’t be opened because you don’t have permission to view it.
Beginning asset download...
2025-10-31 11:18:29.212 xcodebuild[6605:45523] IDEDownloadableMetalToolchainCoordinator: Failed to remount the Metal Toolchain: The file “com.apple.MobileAsset.MetalToolchain-v17.1.324.0.k9JmEp” couldn’t be opened because you don’t have permission to view it.
Downloaded asset to: /System/Library/AssetsV2/com_apple_MobileAsset_MetalToolchain/4ab058bc1c53034b8c0a9baca6fba2d2b78bb965.asset/AssetData/Restore/022-17211-415.dmg
Done downloading: Metal Toolchain 17A324.
I am setting up a new app and am having problems with Xcode Cloud. From Xcode if I click on the "Cloud" button under the Report Navigator I get a spinner for a long time then get the message "Could not load Xcode Cloud data". I also visited the "Xcode Cloud" tab under my app in App Store Connect and I get a spinner and nothing loads.
This is a recent account and I'm setting up Xcode Cloud for the first time. Below is what I've tried and I'm out of ideas on how to get this working.
In Xcode, I signed out and back in as the Account Holder
Closed Xcode and reopened
This occurred yesterday and today and have not seen a problem under the Apple System Status page
On the latest Xcode 16.2
Checked the Signing & Capabilities tab in Xcode and my team a bundle Id is correct and it's happy with signing. At this time on my machine I am using the distribution profile.
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).
Hi, I need help with the error:
“You do not have required contracts to perform an operation.”
(ID: cc897baf-6551-474b-bbef-3dd5bdf89931)
When I try to distribute an archived build from Xcode, App Store Connect shows a banner asking to review a new agreement.
But when I click it, I’m redirected to Agreements, Tax and Banking, and there is no agreement to accept — the page is empty.
I checked with the team, and none of us can see the agreement.
Is it possible that the required agreement is available only to the Account Holder and not visible to Admin or Developer roles?
Could you please clarify what exactly this error means and how we can locate the missing agreement?
Thanks.
We are enrolling on behalf of an organization. We do have following information with us.
• Legal binding authority,
• Legal entity status,
• A D-U-N-S® number, and
• A website.
We are always getting the message as :-
There may be an issue with your account that needs to be resolved before you can continue. Please contact support.
This seems very generic message we are not getting the reason why we are not able to enroll for apple dev program.
Topic:
Developer Tools & Services
SubTopic:
Apple Developer Program
Tags:
App Clips
Xcode
Feedback Assistant
Developer Program
Hi, I've just migrated to Swift Tools 6.2 and package traits, and I'm encountering an issue when using traits with multiple targets in the same Xcode workspace.
Setup:
Main iOS app target
App Clip target
Both consume the same local packages (e.g., UIComponents)
What I'm trying to achieve:
Main app imports packages without the COMPACT_BUILD trait
App Clip imports packages with the COMPACT_BUILD trait enabled
Package configuration (simplified):
// UIComponents/Package.swift
let package = Package(
name: "UIComponents",
platforms: [.iOS(.v18)],
traits: [
.trait(name: "COMPACT_BUILD", description: "Minimal build for App Clips"),
],
// ...
targets: [
.target(
name: "UIComponents",
dependencies: [...],
swiftSettings: [
.define("COMPACT_BUILD", .when(traits: ["COMPACT_BUILD"])),
]
),
]
)
In the code:
#if COMPACT_BUILD
// Excluded from App Clip
#endif
The consumer packages:
Main app's package imports without trait:
.package(path: "../UIComponents")
App Clip's package imports with trait:
.package(path: "../UIComponents", traits: ["COMPACT_BUILD"])
The problem:
When building the main app target, the COMPACT_BUILD compiler condition is unexpectedly active — even though the main app's dependency chain never enables that trait. It seems like the trait enabled by the App Clip target is "leaking" into the main app build.
I confirmed this by adding #error("COMPACT_BUILD is active") — it triggers when building the main app, which shouldn't happen.
If I disable the App Clip target from the build scheme, the main app builds correctly with COMPACT_BUILD not defined.
I am also able to build the App Clip separately.
Environment:
Xcode 26.2
swift-tools-version: 6.2
iOS 26.2
Questions:
Is this expected behavior with Xcode's SPM integration? Are traits resolved workspace-wide rather than per-target?
Is there a workaround to have different trait configurations for different targets consuming the same package?
Or do I need to fall back to separate package targets (e.g., UIComponents and UIComponentsCompact) to achieve this?
Any guidance would be appreciated. Thanks!
Just recently, any pkg file that I create with pkgbuild will install the Payload's application as a zero-byte file in the /Applications directory. This has been working for years without issue for me.
Here are the commands I am using with company specific items replaced:
pkgbuild --analyze --root MyApplicationRootDirectory standalone.plist
plutil -replace BundleIsRelocatable -bool NO standalone.plist
pkgbuild --identifier MyIdentifier --version 1.0 --install-location /Applications --root MyApplicationRootDirectory --component-plist standalone.plist --sign 'Developer ID Installer: MyCompany (MySignId)' --timestamp installer.pkg
Any ideas on what could be causing the issue?
I have verified the following:
The application being added to the pkg is both signed and notarized using the correct Developer ID Application certificate.
The resultant pkg file is both signed and notarized using the Developer ID Installer certificate.
Verified the pkg contents using "pkgutil --expand" to dump the contents.
Verified the pkg's Payload contents by extracting the data using "cat Payload | gunzip | cpio -1". This results in an application file that is a binary match for file added in the "pkgbuild --root" argument.
My application is the only file within the directory passed to the "pkgbuild --root" argument.
There are no warnings in the System Settings / Privacy & Security Panel when running the package installer.
I have a valid Mac Developer account.
I am building the application and the pkg file on the same computer.
Thank you for any insight.
I'm experiencing a strange issue where ASWebAuthenticationSession works perfectly when running from Xcode (both Debug and Release), but fails on TestFlight builds.
The setup:
iOS app using ASWebAuthenticationSession for OIDC login (Keycloak)
Custom URL scheme callback (myapp://)
prefersEphemeralWebBrowserSession = false
The issue:
When using iOS Keychain autofill (with Face ID/Touch ID or normal iphone pw, that auto-submits the form) -> works perfectly
When manually typing credentials and clicking the login button -> fails with white screen
When it fails, the form POST from Keycloak back to my server (/signin-oidc) never reaches the server at all. The authentication session just shows a white screen.
Reproduced on:
Multiple devices (iPhone 15 Pro, etc.)
iOS 18.x
Xcode 16.x
Multiple TestFlight testers confirmed same behavior
What I've tried:
Clearing Safari cookies/data
prefersEphemeralWebBrowserSession = true and false
Different SameSite cookie policies on server
Verified custom URL scheme is registered and works (testing myapp://test in Safari opens the app)
Why custom URL scheme instead of Universal Links:
We couldn't get Universal Links to trigger from a js redirect (window.location.href) within ASWebAuthenticationSession. Only custom URL schemes seemed to be intercepted. If there's a way to make Universal Links work in this context, without a manual user-interaction we'd be happy to try.
iOS Keychain autofill works
The only working path is iOS Keychain autofill that requires iphone-authentication and auto-submits the form. Any manual form submission fails, but only on TestFlight - not Xcode builds.
Has anyone encountered this or know a workaround?
Validation failed
Missing app icon. Include a large app icon as a 1024 by 1024 pixel PNG for the 'Any Appearance' image well in the asset catalog of apps built for iOS or iPadOS. Without this icon, apps can't be submitted for review. For details, visit: https://developer.apple.com/documentation/xcode/configuring-your-app-icon. (ID: 525f6327-6859-4ae7-977b-7951423127a6)
getting this error while archive and validation then validation failed and got this error
But in my xcode each icon is present and when i build the app then in simulator or a real phone the icon is present but while archive and validation then validation failed also i have tried a lot solution but unable to resolve this.
The buttons in the navigation bar are not available in the element tree after iOS 26 upgrade of the test phones. The same IPA version, the same XCode version, but different trees on different phones. There is no way to automate UI testing for these missing buttons.
# ios 18
NavigationBar, 0x108e0c3c0, {{0.0, 47.0}, {390.0, 44.0}}, identifier: 'Profile'
Button, 0x108e0c500, {{8.0, 47.0}, {43.0, 44.0}}, identifier: 'UserProfileSceneViewController_profile_back_button', label: 'chevronLeftIcon'
StaticText, 0x108e0c640, {{169.3, 58.0}, {51.3, 22.0}}, label: 'Profile'
Button, 0x108e0c780, {{339.0, 47.0}, {43.0, 44.0}}, identifier: 'UserProfileSceneViewController_settings_bar_button', label: 'Settings'
# ios 26
NavigationBar, 0x13d63c8c0, {{0.0, 47.0}, {428.0, 54.0}}, identifier: 'Profile'
StaticText, 0x13d63ca00, {{188.3, 58.0}, {51.3, 22.0}}, label: 'Profile'
I have a Unity AR project that I want to build for iOS. The build in Unity succeeds just fine, but when it opens in XCode, whatever I do, it keeps showing this error in GameAssembly: "Command PhaseScriptExecution failed with a nonzero exit code". This error also doesn't open when choosing "Reveal in Log".
I have added the IL2CPP package in the Unity version, deleted and reentered scenes and no issue on Unity's side. On XCode I signed in with my developer account, tried deleting derived data, made a clean build and still the issue persists.
I'm really sick of Apple and their BS kickbacks they get from github and the other source control outfits restricting what source control packages we can use inside of XCode.
We have used Code Commit with AWS for YEARS! We are not switching but apple's Xcode will not allow us to add it as an account. We used to be able to use it, but Apple took away the GIT account setup so now you have to use one of their kickback outfits.
This is complete BS Apple. Even AWS realized how important Code Commit is and made it available to everyone again and pledged full support going forward.
How about you get off your collective sixes and do the same.
I'd like an explanation on why you took away the one feature that allows us to use what works for us.