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

Xcode Documentation

Posts under Xcode subtopic

Post

Replies

Boosts

Views

Activity

Matter Media Playback Cluster
Hello, I am currently working on personal project based on Matter. I need to create a Basic Video Player as specified in Matter's standard embedding the Media Playback Cluster. I went through the reading of how Apple now supports Matter as a standard : linkText My understanding of the following schematic, is alongside : HomeKit Accessory Protocol (HAP) Framework API Related HAP accessories underneath the homeKit framework. Developpers also find under the Homekit framework : CHIP (Connected Home IP) Framework API Related Matter accessories this time Both types of accessories/devices can be commissioned in the HomeKit ecosystem seemlessly. Each framework has it's documentation : HAP : https://developer.apple.com/documentation/homekit/hmhomemanager CHIP : https://developer.apple.com/documentation/matter I want through the process of installing XCode and the HomeKit Accessory Simulator. In the list of HomeKit Accessories I did not see any Media related devices : The list of currently supported devices is limited as I read here and will be enriched with time : https://support.apple.com/en-us/102135#:~:text=The%20Home%20app%20currently%20supports,%2C%20temperature%2C%20and%20humidity). In the meantime, as I read the matter documentation, I read several references made to the Media Playback : https://developer.apple.com/documentation/matter/mtrclustermediaplayback https://developer.apple.com/documentation/matter/mtrbaseclustermediaplayback https://developer.apple.com/documentation/matter/clusters#Interacting-with-the-Media-Playback-cluster My questions are : Are Matter Basic Video Players, (Media Playback) supported in HomeKit ? Why aren't they listed in HomeKit Accessory Simulator ? How can I add a Basic Video Player in HomeKit and display it's Media Playback controls once I have added the device to HomeKit ? Thank you for your Answer. Regards David
12
0
337
Nov ’25
Swift Assist
Hi, I'm testing out Xcode 16 beta and I have a couple of questions: Is Swift Assist only available on Sequoia? I see that predictive code completion is per https://www.apple.com/newsroom/2024/06/apple-empowers-developers-and-fuels-innovation-with-new-tools-and-resources/, but I tried the beta on Sonoma and I'm not seeing it Regarding Swift Assist - I understand that code is only used to process requests and never stored on servers, and Apple will not use it to train machine learning models. However, my company's security team may still decide that using Swift Assist is too much of a risk. How can we disable it across multiple developer machines? Thank you!
11
4
14k
Apr ’25
No new Xcode beta Since 16.2 Release on Dec 11
Not a question, but a surprise. Did I miss something, but apparently there has been no new beta release (16.3) since Release of 16.2 on Dec 11. 2 months without betas is really unusual (in fact, it never happened and usually, next beta n+1 is even released before the final release of version n). So does that mean 16.3 will be a major update ? Wait and see.
4
4
693
Feb ’25
Xcode 16 issues with mac virtualisation
I have created a virtualised Mac machine where I am running the latest Xcode version 16.4 with macOS Sequoia as the base image. While running XCTest tests, I am observing a clear difference in behaviour between virtualised and non-virtualised setups. Below is the command I am using to run the tests: /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -xctestrun /Users/ltuser/290103613/xcui.xctestrun -destination "platform=iOS Simulator,id=79A5F8CC-4A2E-4C91-895D-AE97E25CB824,arch=arm64,OS=18.0" test-without-building "-only-testing:ClassName/MethodName/testName" -derivedDataPath /Users/ltuser/290103613/Archive -verbose IDELogLevel=debug IDETestLogLevel=debug ONLY_ACTIVE_ARCH=YES Observed Issue On virtualised hosts: Every XCTest is executed twice This happens for both passed and failed tests The behaviour is consistent across all virtualised machines On non-virtualised (bare-metal) Macs: Tests execute only once, as expected Debugging Steps Taken Multiple destination suspicion Initially, I noticed the following warning: --- xcodebuild: WARNING: Using the first of multiple matching destinations: { platform:iOS Simulator, id:0FFB9082-94AB-4D0A-A731-CC4452BDD4E7, OS:17.0, name:iPhone 15 } { platform:iOS Simulator, id:0FFB9082-94AB-4D0A-A731-CC4452BDD4E7, OS:17.0, name:iPhone 15 } This raised suspicion that tests might be running twice due to multiple matching destinations. Destination narrowed down I then explicitly restricted the destination to a single simulator UDID, after which: The warning disappeared However, the issue still persists Tests continue to run twice on virtualised hosts Version Comparison Xcode 16.4 + macOS Sequoia (virtualised) → Tests run twice Xcode 15.x (same setup otherwise) → Tests run once Questions Has anyone else faced this issue with Xcode 16.x on virtualised macOS? Is this a known issue with Xcode 16 + Virtualisation? Is there any recommended workaround or configuration change to avoid duplicate test execution? I am currently blocked on this issue and would appreciate confirmation on whether this is an Xcode or virtualisation-related problem. Thank you.
2
1
164
1w
SwiftData error: NSKeyedUnarchiveFromData' should not be used to for un-archiving and will be removed in a future release
I am using SwiftData for my model. Until Xcode 15 beta 4 I did not have issues. Since beta 5 I am receiving the following red warning multiple times: 'NSKeyedUnarchiveFromData' should not be used to for un-archiving and will be removed in a future release This seems to be a CoreData warning. However, I am not using CoreData directly. I have no way to change the config of CoreData as used by SwiftData. My model just uses UUID, Int, String, Double, some of them as optionals or Arrays. I only use one attribute (.unique).
8
4
3.4k
Nov ’25
XCTFail immediately aborts the test in Xcode 26 — no retry on failure
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).
3
3
415
1w
Attributes inspector in Xcode 26
It has been two years since I wrote my a SwiftUI app, and I wanted to start again in Xcode 26. I can no longer see the attributes inspector when I select an element in the canvas. This was an Xcode feature that was very helpful as I am still a novice. Has this feature been deprecated in Xcode 26? And if not, please help explain how I can find and use it.
3
4
466
Dec ’25
dyld: Symbol not found: swift34swift50override_conformsToProtocol
I am getting following error from one of the pod frameworks while running the app (Build is a success). dyld: Symbol not found: __ZN5swift34swift50override_conformsToProtocolEPKNS_14TargetMetadataINS_9InProcessEEEPKNS_24TargetProtocolDescriptorIS1_EEPFPKNS_18TargetWitnessTableIS1_EES4_S8_E. Referenced from: X framework Expected in: frameworks/DeviceKit.framework/DeviceKit mac OS 10.15 Xcode 12.4 React native 0.63 cocoapods: 1.10.1
14
3
19k
Feb ’25
Code Coverage Not Accurate in Xcode 26
Description: I’m noticing that the code coverage metrics in Xcode 26 are not accurate compared to earlier versions. In Xcode 15, the same set of unit tests shows around 38% coverage, but in Xcode 26, even though all the tests are running successfully (for example, the SegmentedUI test cases), the code coverage is displayed as 0%. Has anyone else observed this behavior in Xcode 26? Is there any known issue, workaround, or configuration change required to get the correct coverage report? Environment: Xcode 26 iOS 18 SDK Unit tests running under XCTest Any insights or suggestions would be appreciated.
2
4
419
3w
Xcode 26 Beta 4 Build Failures
We are trying to track down some build failures that started happening only in our Jenkins CI environment. error: Failed to decode version info for '/Applications/Xcode.app/Contents/Developer/usr/bin/actool': The data couldn’t be read because it is missing. (stdout: '<?xml version="1.0" encoding="UTF-8"?> [2025-07-30T19:21:18.479Z] <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> [2025-07-30T19:21:18.479Z] <plist version="1.0"> [2025-07-30T19:21:18.479Z] <dict> [2025-07-30T19:21:18.479Z] <key>com.apple.ibtool.version</key> [2025-07-30T19:21:18.479Z] <dict> [2025-07-30T19:21:18.479Z] <key>bundle-version</key> [2025-07-30T19:21:18.479Z] <string>24112</string> [2025-07-30T19:21:18.479Z] <key>short-bundle-version</key> [2025-07-30T19:21:18.479Z] <string>26.0</string> [2025-07-30T19:21:18.479Z] </dict> [2025-07-30T19:21:18.479Z] </dict> [2025-07-30T19:21:18.479Z] </plist> [2025-07-30T19:21:18.479Z] ', stderr: '' Key facts we've noted: Locally I cannot reproduce the problem We did not see this problem with previous Xcode 26 betas If I remote into the machine and run build commands from the command line I cannot reproduce the problem The very first build succeeds, every build after that on this machine fails from jenkins actool --version is spitting out the version information for ibtool, but only in the context of running from a jenkins agent. If I run this locally or if I remote into the CI machine and run this from the terminal I cannot reproduce this behavior. Command line tools appear to be installed, xcode-select --install fails if I try to do it from the command line. We've tried to recreate the build agents for this jenkins environment exactly as they were for all previous betas and xcode versions, and still get this behavior.
13
4
522
Aug ’25
Unable to launch + Attach to Mac Widget (Sonoma + Xcode 15)
Attempting to launch a widget in Debug mode on Sonoma from Xcode 15 is failing with the following message: attach failed (Not allowed to attach to process. Look in the console messages (Console.app), near the debugserver entries, when the attach failed. The subsystem that denied the attach permission will likely have logged an informative message about why it was denied.) Looking in console I see this message: macOSTaskPolicy: (com.apple.debugserver) may not get the task control port of (MacGalleryWidget) (pid: 1851): (MacGalleryWidget) is hardened, (MacGalleryWidget) doesn't have get-task-allow, (com.apple.debugserver) is a declared debugger(com.apple.debugserver) is not a declared read-only debugger What Xcode settings should I be looking at to rectify this? I suspect I may have something that's out of whack.
1
4
1.2k
May ’25
xcodebuild crash when trying to build a Swift Package
We have a script that builds several Swift Packages using xcodebuild. Since Xcode 16.3, xcodebuild crashes when invoked on a Swift Package, with the following error xcodebuild -list Command line invocation: /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -list Resolve Package Graph ** INTERNAL ERROR: Unable to load workspace '/Users/glaurent/Developer/livesight-universalsdk/SDKs/Modules/CommonObjC' ** Uncaught Exception: -[Swift.__SwiftDeferredNSArray intersectsSet:]: unrecognized selector sent to instance 0x600002593e00 Stack: 0 __exceptionPreprocess (in CoreFoundation) 1 objc_exception_throw (in libobjc.A.dylib) 2 -[NSObject(NSObject) __retain_OA] (in CoreFoundation) 3 ___forwarding___ (in CoreFoundation) 4 _CF_forwarding_prep_0 (in CoreFoundation) 5 -[DVTCoreDevice(DVTCoreDeviceIDE) deviceSupportsBuildable:buildParameters:error:] (in IDEFoundation) 6 -[DVTCoreDevice(DVTCoreDeviceIDE) supportedArchitecturesForBuildableContext:buildParameters:error:] (in IDEFoundation) 7 _IDERunDestinationsForBuildableUsingDeviceWithBuildParameters (in IDEFoundation) 8 -[IDERunDestinationManager runDestinationsForScheme:schemeCommands:executionEnvironment:eligibleOnly:genericOnly:architectureVisibility:] (in IDEFoundation) 9 IDESchemeDetermineAvailableRunDestinations (in IDEFoundation) 10 -[IDEScheme _actuallyInvalidateAvailableRunDestinations] (in IDEFoundation) 11 addSchemeAndMakeActiveIfNecessary #1 (result:error:) in IDESwiftPackage.generateScheme(with:buildable:additionalBuildables:unsetRunnable:makeActive:orderHint:) (in IDESwiftPackageCore) 12 IDESwiftPackage.generateScheme(with:buildable:additionalBuildables:unsetRunnable:makeActive:orderHint:) (in IDESwiftPackageCore) 13 IDESwiftPackage.generateSchemes(_:isRootPackage:) (in IDESwiftPackageCore) 14 IDESwiftPackage.update(from:graphHasErrors:delegate:) (in IDESwiftPackageCore) 15 specialized IDESPMWorkspaceDelegate.rootPackagesDidUpdate(packages:graphHasErrors:modelGraphSynchronizerToken:) (in IDESwiftPackageCore) 16 closure #1 in IDESPMWorkspaceDelegate.packageGraphDidFinishAction(_:duration:result:) (in IDESwiftPackageCore) 17 partial apply for closure #1 in IDESPMWorkspaceDelegate.disableWorkspaceContentSynchronization(during:) (in IDESwiftPackageCore) 18 <deduplicated_symbol> (in DVTFoundation) 19 <deduplicated_symbol> (in DVTFoundation) 20 thunk for @escaping @callee_guaranteed () -> () (in DVTFoundation) 21 __58-[DVTModelObjectGraph performBlockCoalescingModelChanges:]_block_invoke (in DVTFoundation) 22 -[DVTModelGraphTransactionScope performTransaction:] (in DVTFoundation) 23 -[DVTModelObjectGraph performBlockCoalescingModelChanges:] (in DVTFoundation) 24 DVTModelObjectGraph.performBlockCoalescingModelChanges<A>(_:) (in DVTFoundation) 25 IDESPMWorkspaceDelegate.disableWorkspaceContentSynchronization(during:) (in IDESwiftPackageCore) 26 IDESPMWorkspaceDelegate.packageGraphDidFinishAction(_:duration:result:) (in IDESwiftPackageCore) 27 <deduplicated_symbol> (in IDESwiftPackageCore) 28 SPMWorkspace.packageGraphActionFinished(_:) (in SwiftPM) 29 closure #2 in closure #3 in SPMWorkspace.processPackageGraphActionsInBackgroundIfNeeded(canProcessPackageGraphActions:) (in SwiftPM) 30 partial apply for closure #1 in SPMSDKPackageContainer.loadManifest() (in SwiftPM) 31 specialized thunk for @escaping @isolated(any) @callee_guaranteed @async () -> (@out A) (in SwiftPM) 32 partial apply for closure #1 in SPMSDKPackageContainer.loadManifest() (in SwiftPM) 33 completeTaskWithClosure(swift::AsyncContext*, swift::SwiftError*) (in libswift_Concurrency.dylib) This error happens regardless of the command passed to xcodebuild.
1
4
198
Apr ’25
Unable to launch tests in Xcode 26
I am trying to upgrade my app to use Xcode 26 and I cannot get my tests to launch. I am trying to launch tests to the simulator, and I always get this error after 300 second timeout: "encountered an error (The test runner hung before establishing connection.)" There are no other errors getting logged. I can run to the same simulator just fine, and in Xcode 16 the tests launch with no issues. The tests also run fine on an actual iPhone. Thanks in advance.
10
4
621
1d
WidgetKit keep crashing and widgets not displaying
So I have a MacOS application that was working just fine before Xcode 16. The Widgets are not working anymore. The main application and the widgets share a file in a common App Group. The widget app now get a permission error when accessing the file. Also, the Widget Kit simulator keeps crashing. I also try to start a new project in Xcode, add a target with a Widget extension with an App Intent and run it, and it also crashes. Sometimes, it doesn't crash but just display the error: "Failed to load widget. The operation couldn't be completed. (WidgetKit_Simulator.WidgetDocument.Error error 2.). Edited to attach WidgetKit error log widgetKitError.txt
8
4
1.8k
Feb ’25
iOS15 on Xcode26 / Symbol not found: _SKStoreProductParameterAdNetworkSourceIdentifier
Below is an English version of your post, ready to copy-and-paste into the Apple Developer Forums: I’m seeing a crash in Xcode 26 beta 3 whenever the StoreKit symbol SKStoreProductParameterAdNetworkSourceIdentifier is present while running on an iOS 15 simulator. Steps to reproduce Install Xcode 26 beta 3. Create any iOS app and run it on an iOS 15 simulator (device model doesn’t matter). Add the following code anywhere and run: override func viewDidLoad() { super.viewDidLoad() if #available(iOS 16.1, *) { print("SKStoreProductParameterAdNetworkSourceIdentifier: \(SKStoreProductParameterAdNetworkSourceIdentifier)") } } The project builds successfully, but before the #available(iOS 16.1, *) check is reached, the app crashes with: Symbol not found: _SKStoreProductParameterAdNetworkSourceIdentifier When I build the same project with Xcode 16.4 and launch it on an iOS 15 simulator, it runs without crashing. Investigation so far Because SKStoreProductParameterAdNetworkSourceIdentifier is just an NSString, I could substitute the string literal "SKStoreProductParameterAdNetworkSourceIdentifier" as a temporary workaround, but that doesn’t feel like a proper fix. The symbol is still declared in both SDKs: /Applications/Xcode-16.4.0.app/.../StoreKit.framework/Headers/SKAdNetwork.h:48: SK_EXTERN NSString * const SKStoreProductParameterAdNetworkSourceIdentifier API_AVAILABLE(ios(16.1)) API_UNAVAILABLE(macos, watchos, visionos); /Applications/Xcode-26.0.0-Beta.3.app/.../StoreKit.framework/Headers/SKAdNetwork.h:48: SK_EXTERN NSString * const SKStoreProductParameterAdNetworkSourceIdentifier API_AVAILABLE(ios(16.1)) API_UNAVAILABLE(macos, watchos, visionos); So the symbol hasn’t been removed in the beta SDK. Given that the code is wrapped in #available(iOS 16.1, *), I don’t believe the sample itself is at fault. Questions Could this be a bug in Xcode 26’s availability checking or linker? Has anyone else encountered the same issue or found a more robust workaround? Any insights would be greatly appreciated.
4
4
422
Aug ’25