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

Posts under Xcode tag

200 Posts

Post

Replies

Boosts

Views

Activity

Xcode 26 Beta 5 XIB Compiler outputs NIBs with dependency on class that isn't available pre-macOS 26
When Xcode 26 Beta 5 compiles my XIBs into NIBs, it spits out a dependency on a class that isn't available pre-macOS 26, named _TtCC6AppKit14NSScrollPocketP33_EC3F85FAB7755D56E669206D2B17725B12BackdropView. All XIBs have a deployment target of macOS 12, so in theory this should be avoided. Even if this is a new (internal) class to macOS 26, the dependency is a problem when the developer is asking to deploy to prior versions. Has anyone else run into this regression? What could possibly be causing the XIB compiler to inject this dependency? The resulting NIBs don't load on anything prior to macOS 26.
13
1
477
Aug ’25
iOS 26 CarPlay Widgets
My company's app has a few widgets and a couple of them we do not want to show up on CarPlay due to safety concerns when iOS 26 releases. I understand Apple's recommended way to prevent users from using your widget in CarPlay is to use the .disfavoredLocations([.carPlay], for: [.systemSmall]), and this puts your widget in the 'Other' section of the widgets. https://developer.apple.com/download/files/CarPlay-Developer-Guide.pdf However, this .carPlay widget location is only available in Xcode 26, and our app cannot be built on Xcode 26 yet due to some build errors. We are able to fix those build errors in a separate branch, but we won't be doing our official release builds on Xcode 26 until it is out of beta, which is usually right before iOS 26 officially releases to general audiences. We release our app versions on a monthly cadence, so the version that will be out when iOS 26 comes out is already in testing. Is there any existing way we can disable this widget on CarPlay so it does not appear to work when tapped? Currently, it opens our CarPlay app, but the CarPlay app does nothing with it. On the iPhone, when you tap the widget it opens our app and performs a function. We don't wan't to disable it on the iPhone, just when it's on CarPlay. We don't have time before the app release to implement the same functionality on our CarPlay app. I haven't found any reliable way to detect if the widget is running in the CarPlay location versus the iPhone home screen. Thanks in advance for any assistance.
0
13
381
Aug ’25
Unable to download Metal toolchain with Xcode Beta 5
I'm unable to download the Metal toolchain with Xcode. When trying to do it via the command line, I get the following: > xcodebuild -downloadComponent metalToolchain -exportPath /tmp/MyMetalExport/ Beginning asset download... 2025-08-06 19:46:19.983 xcodebuild[1395:22024] Writing error result bundle to /var/folders/48/1k1jfsxn56zcs4qr_719rc1w0000gn/T/ResultBundle_2025-06-08_19-46-0019.xcresult xcodebuild: error: Failed fetching catalog for assetType (com.apple.MobileAsset.MetalToolchain), serverParameters ({ RequestedBuild = 17A5295f; }) From Console.app: DVTDownloadsFetchAssetCatalog() complete assetType (com.apple.MobileAsset.MetalToolchain), options: (MADownloadOptions allowsCellular: 0 resourceTimeout: 60 canUseCacheServer: 0 discretionary: 0 disableUI: 0 sessionId: (null) additionalServerParams:{ RequestedBuild = 17A5295f; } allowsExpensiveAccess:1 requiresPowerPluggedIn: 0 prefersInfraWiFi: 1 liveServerOnly: -1 DownloadAuthorizationHeader: not present analyticsData: not present allowDaemonConnectionRetries: 0), result: (59), catalogError: (Download failed due to not being able to find the host. (Catalog download for com.apple.MobileAsset.MetalToolchain)) Note that I am online. I've tried restarting my computer and Xcode and using a different network.
20
16
1.6k
Aug ’25
Problems compiling xcframeworks using Carthage with the latest Xcode beta
I use Carthage to build a set of dependencies. I generate .xcframework files with code for both macOS and iOS. This works through Xcode 26 beta 4. With Xcode 26 beta 5, the resulting .xcframework files seem to have code only for iOS, not macOS. Each framework has a ios-arm64 directory and a ios-arm64_x86_64-simulator directory, but no macos-arm64_x86_64 directory. This is affecting 3 of my 7 cross-platform dependencies that I compile with Carthage. What those 3 seem to have in common is that each has one target and scheme for the shared library – instead of one for iOS and another for macOS. I may have to create a second scheme and target in each of these dependencies, or move to SPM. But I am wondering if anyone has another suggestion. Thank you. John
5
0
196
Aug ’25
XCODE16.4 UNABLE TO DOWNLOAD iOS 18.6 RUNTIME ON MAC 15.5
I'm experiencing an issue here on my Xcode 16.4, where i can't download the supported iOS 18.6 runtime because it stays stuck on the 'preparing' state. I have also tried getting it manually from the dev site but they only have 18.2. The only runtime that would download easily via Xcode was 17.5 but I can't build my project with that. I have tried using curl to even get a download url, nothing worked. All my terminal approach didn't work also. Any help or guidance to sort this out? Thank you.
0
1
144
Aug ’25
Crash when assigning NSImage to `@objc dynamic var` property
Xcode downloaded a crash report for my app which I don't quite understand. It seems the following line caused the crash: myEntity.image = newImage where myEntity is of type MyEntity: class MyEntity: NSObject, Identifiable { @objc dynamic var image: NSImage! ... } The code is called on the main thread. According to the crash report, thread 0 makes that assignment, and at the same time thread 16 is calling [NSImageView asynchronousPreparation:prepareResultUsingParameters:]. What could cause such a crash? Could I be doing something wrong or is this a bug in macOS? crash.crash
11
0
284
Aug ’25
Problem with testing
Hello. I was working on a Unity game for iPhone, but Apple said that it is impossible to prohibit downloading to iPad. They tested it on iPad Air 5, and for some reason the game did not work correctly - nothing happened when launched, although everything was fine in the simulator and in the real iPhone. Please tell me what to do?
3
2
187
Aug ’25
MetalToolchain fail installation xcode 26.0 beta 5, tahoe 26.0
Failed fetching catalog for assetType (com.apple.MobileAsset.MetalToolchain), serverParameters ({ RequestedBuild = 17A5295f; }) Domain: DVTDownloadsUtilitiesErrorDomain Code: -1 User Info: { DVTErrorCreationDateKey = "2025-08-08 07:59:24 +0000"; } Failed fetching catalog for assetType (com.apple.MobileAsset.MetalToolchain), serverParameters ({ RequestedBuild = 17A5295f; }) Domain: DVTDownloadsUtilitiesErrorDomain Code: -1 Download failed due to not being able to find the host. (Catalog download for com.apple.MobileAsset.MetalToolchain) Domain: com.apple.MobileAssetError.Download Code: 59 User Info: { checkConfiguration = 1; } System Information macOS Version 26.0 (Build 25A5327h) Xcode 26.0 (24198.5) (Build 17A5295f) Timestamp: 2025-08-08T08:59:24+01:00
6
0
448
Aug ’25
iOS Simulator APNs Device Token is not received when running in a Mac VM
Starting Xcode 14, iOS Simulator is able to communicate with APNs in order to register for notification in the sandbox environment. I created a sample test for this. A dumb iOS application that registers for notifications. It has UITests to automatize the tap on the consent popup (it is not possible to ask for the permission via CLI sadly). Once the application registers, the AppDelegate method didRegisterForRemoteNotificationsWithDeviceToken is called and the device token is sent to a local server application (node.js). The test itself creates an iOS 18.6 Simulator with xcrun simctl, builds such app and run the tests through through CLI with xcodebuild. Running this on my personal Macbook Pro M1 2021 goes well every time, so I wanted to bring it on Github Actions (arm64 macOS machines), in order to test the works on a open source library I'm building (hapns). Contacting Github support led me to test this on a macOS image running inside a VM inside a Veertu Anka container on my personal Macbook Pro, due to an VM architectural limit suspicion. The results were the same: iOS simulator isn't able to receive the device token. Not even didFailToRegisterForRemoteNotificationsWithError is called (tested through some network probes-requests that communicate to the server which checkpoints the process reached). So, as asked, I've setup a repro-case to be run in the VM and I've collected VM diagnostics ready to be tested and attached. Does anyone know if there is some unspecified (or specified but buried in the documentation) limit for this? Thanks. Github discussion link for further details, repro-case and so on: https://github.com/actions/runner-images/issues/12747
5
2
644
Aug ’25
How to use a folder generated by an Xcode Aggregate Target as a resource in another target?
I have a multi target project where every target relies on a built "web bundle" which is basically a collection of html, optimized images, and optimized javascript. Right now that web bundle is built in a pre build step by running a script. The script takes awhile to run and outputs to a folder that is referenced into the project via a PBXFileReference which is then referenced in the Copy Bundle Resources step. 96516AC22BF928DD00576562 /* build */ = {isa = PBXFileReference; lastKnownFileType = folder; name = build; path = "../web-ui/build"; sourceTree = "<group>"; } .... 96516AC32BF928DD00576562 /* build in Resources */ = {isa = PBXBuildFile; fileRef = 96516AC22BF928DD00576562 /* build */; }; As a step, I wrote an aggregate target that can also run this script. I specified its input and output files and turned off sandboxing. It does exactly what I need it to. Critically it is ran based on dependency analysis. If I modify any file in web-ui it rebuilds, if I dont I can repeatedly build the aggregate target and it will not re-run the script. This is perfect. A97590172E419CBA00741928 /* Build Web Bundle */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 12; files = ( ); inputFileListPaths = ( ); inputPaths = ( "$(SRCROOT)/xcodescripts/build-web-bundle.bash", "$(SRCROOT)/web-ui/index.html", "$(SRCROOT)/web-ui/vite-env.d.ts", "$(SRCROOT)/web-ui/vite.config.ts", "$(SRCROOT)/web-ui/tsconfig.json", "$(SRCROOT)/web-ui/stats.html", "$(SRCROOT)/web-ui/postcss.config.js", "$(SRCROOT)/web-ui/package.json", "$(SRCROOT)/web-ui/justfile", "$(SRCROOT)/web-ui/src/", ); name = "Build Web Bundle"; outputFileListPaths = ( ); outputPaths = ( "$(SRCROOT)/web-ui/build/", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "exec \"${SCRIPT_INPUT_FILE_0}\"\n"; }; You may notice I reference a src file. This is made possible via a flag USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES which allows Xcode to check folder dependencies recursively. The problem is that my other targets do not automatically recognize that they need to run the "WebBundle" aggregate target in order to update a resource they copy in their "Copy bundle resources" phase. So I tried adding it as a Target Dependency. A9DE685B2E41C9A8005EF4E0 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = A97590132E419C1200741928 /* WebBundle */; targetProxy = A9DE685A2E41C9A8005EF4E0 /* PBXContainerItemProxy */; }; Unfortunately this breaks whatever magic was allowing the script to be run only when there are web bundle changes. Every build it runs the "Build Web Bundle" script. I think what I am missing is a way to specify in these other targets that a resource they are used to copying from the Xcode PBXFileReference is produced by the aggregate target. This way they can start to reason about the dependencies. Other possibilities are that I should be building the web bundle to a separate location. Or that these references are somehow broken in another way. To be clear the folder format is as thus project/ iOS/ client.xcodeproj web-ui/ build/ (web bundle build is output here and referenced relatively) src/ index.html (and other things)
5
0
279
Aug ’25
iOS 26 Beta 6 in Simulator
Is iOS 26 Beta 6 available in the iOS Simulator? I saw that the latest betas launched earlier this week. I updated my dev machine to macOS 26 Beta 6, however this release had no corresponding Xcode 26 Beta 6. So I am still running Xcode Beta 5 and when I go into Settings -> Components within Xcode there is no option to install iOS 26 Beta 6. It's still running Beta 5 for macOS and iOS. Is that correct? My current assumption is that iOS Beta 6 is for physical devices only?
1
0
369
Aug ’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
477
Aug ’25
xcodebuild keeps defaulting to Mac Catalyst
Ok, I'm going crazy here. I have a static library for iOS that I want to build for the simulator. I use xcodebuild -destination="iOS Simulator" and then check the library using otool which tells me the platform is 6, which is Mac Catalyst. When I look at the output of xcodebuild, it says --- xcodebuild: WARNING: Using the first of multiple matching destinations: { platform:macOS, arch:arm64, variant:Mac Catalyst, id:00006041-0008492E3AA1801C, name:My Mac } ... It has the simulator listed too, way down the list: { platform:iOS Simulator, arch:x86_64, id:AB7A99B3-8D24-4F73-A42D-9BB45321928D, OS:18.6, name:iPad (A16) } When I put all of that into xcodebuild for the platform, it still says there are multiple matching destinations and chooses Mac Catalyst. Why? How? What? Does platform="iOS Simulator" mean nothing? How in the world does "Mac Catalyst" match "iOS Simulator"????? I don't want Mac Catalyst, I don't need Mac Catalyst, and I can't get rid of Mac Catalyst. Nothing I specify in xcodebuild results in anything I can build that will compile for the simulator. What the heck am I doing wrong?
5
0
136
Aug ’25
Can't install Metal Toolchain component
With Xcode 26.0 beta 5 (17A5295f) when I run the following command xcodebuild -downloadComponent metalToolchain I get the following error: xcodebuild[48851:12478851] Writing error result bundle to /var/folders/b_/g67r_tl557z244g20ncr_qmsd9wrz1/T/ResultBundle_2025-07-08_11-10-0012.xcresult xcodebuild: error: Failed fetching catalog for assetType (com.apple.MobileAsset.MetalToolchain), serverParameters ({ RequestedBuild = 17A5295f; }) I can't install the toolchain from the Xcode GUI also. Does someone know a workaround ?
6
16
678
Aug ’25
Xcode 26 Beta 5 Universal: Not able to install iOS 26 Beta 5 simulator on intel macs
Xcode 26 Beta 5 Universal: Not able to install iOS 26 Beta 5 simulator on intel macs Below log is shown: Download failed. Domain: DVTDownloadableErrorDomain Code: 41 User Info: { DVTErrorCreationDateKey = "2025-08-08 06:37:48 +0000"; } Download failed. Domain: DVTDownloadableErrorDomain Code: 41 System Information macOS Version 15.5 (Build 24F74) Xcode 26.0 (24198.5) (Build 17A5295f) Is simulator run time for Xcode 26 Beta 5 not given out yet? However I am able to download simulators on Apple Silicon macs with same Universal installer. Has anyone faced similar issue?
16
13
835
Aug ’25
Xcode 16.4 can't choose a lower version iOS simulator to debug
My Xcode version is 16.4, I have added an old version simulator (iPhone 13 with iOS 17.2) to the simulator list, but I can't use it for debugging, and all on display are iPhone 16 with 18.6 (the latest iOS devices). The setting "Minimum Deployments" for my App is 16.6. In addition, when I downloaded an iOS 16.0 version simulator, Xcode automatically added all iPhone 15 models of the simulator, but I still can't use them. In short, I can only use the default iPhone 16 simulators. So, if I want to debug my App using iPhone 13 (iOS 17.2), what should I do? Thank you for your reply. :) Another small issue, my App's destination has been set to support only iPhone, why are those iPad simulators still appearing?
6
0
328
Aug ’25
Xcode 26 Beta 5 XIB Compiler outputs NIBs with dependency on class that isn't available pre-macOS 26
When Xcode 26 Beta 5 compiles my XIBs into NIBs, it spits out a dependency on a class that isn't available pre-macOS 26, named _TtCC6AppKit14NSScrollPocketP33_EC3F85FAB7755D56E669206D2B17725B12BackdropView. All XIBs have a deployment target of macOS 12, so in theory this should be avoided. Even if this is a new (internal) class to macOS 26, the dependency is a problem when the developer is asking to deploy to prior versions. Has anyone else run into this regression? What could possibly be causing the XIB compiler to inject this dependency? The resulting NIBs don't load on anything prior to macOS 26.
Replies
13
Boosts
1
Views
477
Activity
Aug ’25
iOS 26 CarPlay Widgets
My company's app has a few widgets and a couple of them we do not want to show up on CarPlay due to safety concerns when iOS 26 releases. I understand Apple's recommended way to prevent users from using your widget in CarPlay is to use the .disfavoredLocations([.carPlay], for: [.systemSmall]), and this puts your widget in the 'Other' section of the widgets. https://developer.apple.com/download/files/CarPlay-Developer-Guide.pdf However, this .carPlay widget location is only available in Xcode 26, and our app cannot be built on Xcode 26 yet due to some build errors. We are able to fix those build errors in a separate branch, but we won't be doing our official release builds on Xcode 26 until it is out of beta, which is usually right before iOS 26 officially releases to general audiences. We release our app versions on a monthly cadence, so the version that will be out when iOS 26 comes out is already in testing. Is there any existing way we can disable this widget on CarPlay so it does not appear to work when tapped? Currently, it opens our CarPlay app, but the CarPlay app does nothing with it. On the iPhone, when you tap the widget it opens our app and performs a function. We don't wan't to disable it on the iPhone, just when it's on CarPlay. We don't have time before the app release to implement the same functionality on our CarPlay app. I haven't found any reliable way to detect if the widget is running in the CarPlay location versus the iPhone home screen. Thanks in advance for any assistance.
Replies
0
Boosts
13
Views
381
Activity
Aug ’25
Unable to download Metal toolchain with Xcode Beta 5
I'm unable to download the Metal toolchain with Xcode. When trying to do it via the command line, I get the following: > xcodebuild -downloadComponent metalToolchain -exportPath /tmp/MyMetalExport/ Beginning asset download... 2025-08-06 19:46:19.983 xcodebuild[1395:22024] Writing error result bundle to /var/folders/48/1k1jfsxn56zcs4qr_719rc1w0000gn/T/ResultBundle_2025-06-08_19-46-0019.xcresult xcodebuild: error: Failed fetching catalog for assetType (com.apple.MobileAsset.MetalToolchain), serverParameters ({ RequestedBuild = 17A5295f; }) From Console.app: DVTDownloadsFetchAssetCatalog() complete assetType (com.apple.MobileAsset.MetalToolchain), options: (MADownloadOptions allowsCellular: 0 resourceTimeout: 60 canUseCacheServer: 0 discretionary: 0 disableUI: 0 sessionId: (null) additionalServerParams:{ RequestedBuild = 17A5295f; } allowsExpensiveAccess:1 requiresPowerPluggedIn: 0 prefersInfraWiFi: 1 liveServerOnly: -1 DownloadAuthorizationHeader: not present analyticsData: not present allowDaemonConnectionRetries: 0), result: (59), catalogError: (Download failed due to not being able to find the host. (Catalog download for com.apple.MobileAsset.MetalToolchain)) Note that I am online. I've tried restarting my computer and Xcode and using a different network.
Replies
20
Boosts
16
Views
1.6k
Activity
Aug ’25
Problems compiling xcframeworks using Carthage with the latest Xcode beta
I use Carthage to build a set of dependencies. I generate .xcframework files with code for both macOS and iOS. This works through Xcode 26 beta 4. With Xcode 26 beta 5, the resulting .xcframework files seem to have code only for iOS, not macOS. Each framework has a ios-arm64 directory and a ios-arm64_x86_64-simulator directory, but no macos-arm64_x86_64 directory. This is affecting 3 of my 7 cross-platform dependencies that I compile with Carthage. What those 3 seem to have in common is that each has one target and scheme for the shared library – instead of one for iOS and another for macOS. I may have to create a second scheme and target in each of these dependencies, or move to SPM. But I am wondering if anyone has another suggestion. Thank you. John
Replies
5
Boosts
0
Views
196
Activity
Aug ’25
XCODE16.4 UNABLE TO DOWNLOAD iOS 18.6 RUNTIME ON MAC 15.5
I'm experiencing an issue here on my Xcode 16.4, where i can't download the supported iOS 18.6 runtime because it stays stuck on the 'preparing' state. I have also tried getting it manually from the dev site but they only have 18.2. The only runtime that would download easily via Xcode was 17.5 but I can't build my project with that. I have tried using curl to even get a download url, nothing worked. All my terminal approach didn't work also. Any help or guidance to sort this out? Thank you.
Replies
0
Boosts
1
Views
144
Activity
Aug ’25
Crash when assigning NSImage to `@objc dynamic var` property
Xcode downloaded a crash report for my app which I don't quite understand. It seems the following line caused the crash: myEntity.image = newImage where myEntity is of type MyEntity: class MyEntity: NSObject, Identifiable { @objc dynamic var image: NSImage! ... } The code is called on the main thread. According to the crash report, thread 0 makes that assignment, and at the same time thread 16 is calling [NSImageView asynchronousPreparation:prepareResultUsingParameters:]. What could cause such a crash? Could I be doing something wrong or is this a bug in macOS? crash.crash
Replies
11
Boosts
0
Views
284
Activity
Aug ’25
Problem with testing
Hello. I was working on a Unity game for iPhone, but Apple said that it is impossible to prohibit downloading to iPad. They tested it on iPad Air 5, and for some reason the game did not work correctly - nothing happened when launched, although everything was fine in the simulator and in the real iPhone. Please tell me what to do?
Replies
3
Boosts
2
Views
187
Activity
Aug ’25
MetalToolchain fail installation xcode 26.0 beta 5, tahoe 26.0
Failed fetching catalog for assetType (com.apple.MobileAsset.MetalToolchain), serverParameters ({ RequestedBuild = 17A5295f; }) Domain: DVTDownloadsUtilitiesErrorDomain Code: -1 User Info: { DVTErrorCreationDateKey = "2025-08-08 07:59:24 +0000"; } Failed fetching catalog for assetType (com.apple.MobileAsset.MetalToolchain), serverParameters ({ RequestedBuild = 17A5295f; }) Domain: DVTDownloadsUtilitiesErrorDomain Code: -1 Download failed due to not being able to find the host. (Catalog download for com.apple.MobileAsset.MetalToolchain) Domain: com.apple.MobileAssetError.Download Code: 59 User Info: { checkConfiguration = 1; } System Information macOS Version 26.0 (Build 25A5327h) Xcode 26.0 (24198.5) (Build 17A5295f) Timestamp: 2025-08-08T08:59:24+01:00
Replies
6
Boosts
0
Views
448
Activity
Aug ’25
Problem with testing
Hello. I was working on a Unity game for iPhone, but Apple said that it is impossible to prohibit downloading to iPad. They tested it on iPad Air 5, and for some reason the game did not work correctly - nothing happened when launched, although everything was fine in the iPad Air 5 simulator and in the real iPhone. Please tell me what to do?
Replies
1
Boosts
1
Views
135
Activity
Aug ’25
iOS Simulator APNs Device Token is not received when running in a Mac VM
Starting Xcode 14, iOS Simulator is able to communicate with APNs in order to register for notification in the sandbox environment. I created a sample test for this. A dumb iOS application that registers for notifications. It has UITests to automatize the tap on the consent popup (it is not possible to ask for the permission via CLI sadly). Once the application registers, the AppDelegate method didRegisterForRemoteNotificationsWithDeviceToken is called and the device token is sent to a local server application (node.js). The test itself creates an iOS 18.6 Simulator with xcrun simctl, builds such app and run the tests through through CLI with xcodebuild. Running this on my personal Macbook Pro M1 2021 goes well every time, so I wanted to bring it on Github Actions (arm64 macOS machines), in order to test the works on a open source library I'm building (hapns). Contacting Github support led me to test this on a macOS image running inside a VM inside a Veertu Anka container on my personal Macbook Pro, due to an VM architectural limit suspicion. The results were the same: iOS simulator isn't able to receive the device token. Not even didFailToRegisterForRemoteNotificationsWithError is called (tested through some network probes-requests that communicate to the server which checkpoints the process reached). So, as asked, I've setup a repro-case to be run in the VM and I've collected VM diagnostics ready to be tested and attached. Does anyone know if there is some unspecified (or specified but buried in the documentation) limit for this? Thanks. Github discussion link for further details, repro-case and so on: https://github.com/actions/runner-images/issues/12747
Replies
5
Boosts
2
Views
644
Activity
Aug ’25
How to use a folder generated by an Xcode Aggregate Target as a resource in another target?
I have a multi target project where every target relies on a built "web bundle" which is basically a collection of html, optimized images, and optimized javascript. Right now that web bundle is built in a pre build step by running a script. The script takes awhile to run and outputs to a folder that is referenced into the project via a PBXFileReference which is then referenced in the Copy Bundle Resources step. 96516AC22BF928DD00576562 /* build */ = {isa = PBXFileReference; lastKnownFileType = folder; name = build; path = "../web-ui/build"; sourceTree = "<group>"; } .... 96516AC32BF928DD00576562 /* build in Resources */ = {isa = PBXBuildFile; fileRef = 96516AC22BF928DD00576562 /* build */; }; As a step, I wrote an aggregate target that can also run this script. I specified its input and output files and turned off sandboxing. It does exactly what I need it to. Critically it is ran based on dependency analysis. If I modify any file in web-ui it rebuilds, if I dont I can repeatedly build the aggregate target and it will not re-run the script. This is perfect. A97590172E419CBA00741928 /* Build Web Bundle */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 12; files = ( ); inputFileListPaths = ( ); inputPaths = ( "$(SRCROOT)/xcodescripts/build-web-bundle.bash", "$(SRCROOT)/web-ui/index.html", "$(SRCROOT)/web-ui/vite-env.d.ts", "$(SRCROOT)/web-ui/vite.config.ts", "$(SRCROOT)/web-ui/tsconfig.json", "$(SRCROOT)/web-ui/stats.html", "$(SRCROOT)/web-ui/postcss.config.js", "$(SRCROOT)/web-ui/package.json", "$(SRCROOT)/web-ui/justfile", "$(SRCROOT)/web-ui/src/", ); name = "Build Web Bundle"; outputFileListPaths = ( ); outputPaths = ( "$(SRCROOT)/web-ui/build/", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; shellScript = "exec \"${SCRIPT_INPUT_FILE_0}\"\n"; }; You may notice I reference a src file. This is made possible via a flag USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES which allows Xcode to check folder dependencies recursively. The problem is that my other targets do not automatically recognize that they need to run the "WebBundle" aggregate target in order to update a resource they copy in their "Copy bundle resources" phase. So I tried adding it as a Target Dependency. A9DE685B2E41C9A8005EF4E0 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = A97590132E419C1200741928 /* WebBundle */; targetProxy = A9DE685A2E41C9A8005EF4E0 /* PBXContainerItemProxy */; }; Unfortunately this breaks whatever magic was allowing the script to be run only when there are web bundle changes. Every build it runs the "Build Web Bundle" script. I think what I am missing is a way to specify in these other targets that a resource they are used to copying from the Xcode PBXFileReference is produced by the aggregate target. This way they can start to reason about the dependencies. Other possibilities are that I should be building the web bundle to a separate location. Or that these references are somehow broken in another way. To be clear the folder format is as thus project/ iOS/ client.xcodeproj web-ui/ build/ (web bundle build is output here and referenced relatively) src/ index.html (and other things)
Replies
5
Boosts
0
Views
279
Activity
Aug ’25
iOS 26 Beta 6 in Simulator
Is iOS 26 Beta 6 available in the iOS Simulator? I saw that the latest betas launched earlier this week. I updated my dev machine to macOS 26 Beta 6, however this release had no corresponding Xcode 26 Beta 6. So I am still running Xcode Beta 5 and when I go into Settings -> Components within Xcode there is no option to install iOS 26 Beta 6. It's still running Beta 5 for macOS and iOS. Is that correct? My current assumption is that iOS Beta 6 is for physical devices only?
Replies
1
Boosts
0
Views
369
Activity
Aug ’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.
Replies
4
Boosts
4
Views
477
Activity
Aug ’25
Xcode Beta (Version 26.0 beta 5 (17A5295f)) Constantly Crashing!
Hi, Ever since upgrading to Version 26.0 beta 5 (17A5295f) Xcode constantly locks up with the Beach Ball of Death icon. I can't even work on any apps/projects. Anyone else having issues? Dan Uff
Replies
1
Boosts
0
Views
170
Activity
Aug ’25
xcodebuild keeps defaulting to Mac Catalyst
Ok, I'm going crazy here. I have a static library for iOS that I want to build for the simulator. I use xcodebuild -destination="iOS Simulator" and then check the library using otool which tells me the platform is 6, which is Mac Catalyst. When I look at the output of xcodebuild, it says --- xcodebuild: WARNING: Using the first of multiple matching destinations: { platform:macOS, arch:arm64, variant:Mac Catalyst, id:00006041-0008492E3AA1801C, name:My Mac } ... It has the simulator listed too, way down the list: { platform:iOS Simulator, arch:x86_64, id:AB7A99B3-8D24-4F73-A42D-9BB45321928D, OS:18.6, name:iPad (A16) } When I put all of that into xcodebuild for the platform, it still says there are multiple matching destinations and chooses Mac Catalyst. Why? How? What? Does platform="iOS Simulator" mean nothing? How in the world does "Mac Catalyst" match "iOS Simulator"????? I don't want Mac Catalyst, I don't need Mac Catalyst, and I can't get rid of Mac Catalyst. Nothing I specify in xcodebuild results in anything I can build that will compile for the simulator. What the heck am I doing wrong?
Replies
5
Boosts
0
Views
136
Activity
Aug ’25
Can't install Metal Toolchain component
With Xcode 26.0 beta 5 (17A5295f) when I run the following command xcodebuild -downloadComponent metalToolchain I get the following error: xcodebuild[48851:12478851] Writing error result bundle to /var/folders/b_/g67r_tl557z244g20ncr_qmsd9wrz1/T/ResultBundle_2025-07-08_11-10-0012.xcresult xcodebuild: error: Failed fetching catalog for assetType (com.apple.MobileAsset.MetalToolchain), serverParameters ({ RequestedBuild = 17A5295f; }) I can't install the toolchain from the Xcode GUI also. Does someone know a workaround ?
Replies
6
Boosts
16
Views
678
Activity
Aug ’25
Xcode 26 Beta 5 Universal: Not able to install iOS 26 Beta 5 simulator on intel macs
Xcode 26 Beta 5 Universal: Not able to install iOS 26 Beta 5 simulator on intel macs Below log is shown: Download failed. Domain: DVTDownloadableErrorDomain Code: 41 User Info: { DVTErrorCreationDateKey = "2025-08-08 06:37:48 +0000"; } Download failed. Domain: DVTDownloadableErrorDomain Code: 41 System Information macOS Version 15.5 (Build 24F74) Xcode 26.0 (24198.5) (Build 17A5295f) Is simulator run time for Xcode 26 Beta 5 not given out yet? However I am able to download simulators on Apple Silicon macs with same Universal installer. Has anyone faced similar issue?
Replies
16
Boosts
13
Views
835
Activity
Aug ’25
Xcode 16.4 can't choose a lower version iOS simulator to debug
My Xcode version is 16.4, I have added an old version simulator (iPhone 13 with iOS 17.2) to the simulator list, but I can't use it for debugging, and all on display are iPhone 16 with 18.6 (the latest iOS devices). The setting "Minimum Deployments" for my App is 16.6. In addition, when I downloaded an iOS 16.0 version simulator, Xcode automatically added all iPhone 15 models of the simulator, but I still can't use them. In short, I can only use the default iPhone 16 simulators. So, if I want to debug my App using iPhone 13 (iOS 17.2), what should I do? Thank you for your reply. :) Another small issue, my App's destination has been set to support only iPhone, why are those iPad simulators still appearing?
Replies
6
Boosts
0
Views
328
Activity
Aug ’25
Xcode 26 beta 4 and iOS 26 beta 4 unable to build: facing issues in sideloading using Xcode
Xcode 26 beta 4 and iOS 26 beta 4 unable to build: facing issues in sideloading using Xcode Unable to find a DDI that can be used to enable DDI services on the device
Replies
10
Boosts
1
Views
384
Activity
Aug ’25
Can't build old project on Xcode 26 beta5
I have a visionOS 2 project created on Xcode 16, when I updated to Xcode 26 beta5, I can't build it any more, every time it stuck in process like the picture shows below: Already tried many methods to fix this issue, such as clear build folders, but don't work. MacBook Air M2 / MacOS 26 beta5 / Xcode 26 beta5
Replies
1
Boosts
0
Views
245
Activity
Aug ’25