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

Xcode Documentation

Posts under Xcode subtopic

Post

Replies

Boosts

Views

Activity

Active Compilation Conditions in Packages
The flags like #if DEBUG ... endif are dependent on the Active Compilation Conditions. So if they say DEBUG the enclosed code block will be executed, otherwise not. Now I have the phenomenon that a #DEBUG block in a Package does not evaluate these conditions. It rather depends on the name of the configuration used to build. So if I build my app with Active Compilation Condition set to DEBUG, but the configuration name is something like App-Release, the DEBUG block in my Package is not added/executed. The ones which are directly in the project are added. Vice versa if the Compilation Condition say RELEASE but the configuration is called App-Debug the blocks in the Package are added to the compilation, but the ones in the project itself are not It suffices that the config name contains the word Debug for this to happen. E.g. the configuration App-Release-Debug (I know that this would be stupid, but it is for demonstrating purposes) will cause the Packages to include the DEBUG blocks. This happens no matter what you set in the Build Settings of the project and/or target. The Packages are added via GitHub/GitLab Source Control with SPM. Any ideas why this behaves like it does? It doesn't seem like it should...
0
1
110
Mar ’25
Xcode 16.4 fails to build swift packages.
After updating to Xcode 16.4, Package resolution fails with some cryptic errors. Each package fails with the following message Showing Recent Errors Only <unknown>:0: warning: legacy driver is now deprecated; consider avoiding specifying '-disallow-use-new-driver' <module-includes>:200:9: note: in file included from <module-includes>:200: 198 | #import "mach/mach_traps.h" 199 | #import "mach/mach_types.h" 200 | #import "mach/mach_vm.h" | `- note: in file included from <module-includes>:200: 201 | #import "mach/mach_voucher.h" 202 | #import "mach/mach_voucher_types.h" /Applications/Xcode-16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/usr/include/mach/mach_vm.h:436:2: error: unknown type name 'mach_vm_offset_list_t'; did you mean 'mach_vm_offset_t'? 434 | ( 435 | vm_map_t target, 436 | mach_vm_offset_list_t in_pointer_list, | `- error: unknown type name 'mach_vm_offset_list_t'; did you mean 'mach_vm_offset_t'? 437 | mach_msg_type_number_t in_pointer_listCnt, 438 | mach_vm_offset_list_t out_pointer_list, /Applications/Xcode-16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/usr/include/mach/arm/vm_types.h:108:33: note: 'mach_vm_offset_t' declared here 106 | 107 | typedef uint64_t mach_vm_address_t __kernel_ptr_semantics; 108 | typedef uint64_t mach_vm_offset_t __kernel_ptr_semantics; | `- note: 'mach_vm_offset_t' declared here 109 | typedef uint64_t mach_vm_size_t; 110 | <module-includes>:200:9: note: in file included from <module-includes>:200: 198 | #import "mach/mach_traps.h" 199 | #import "mach/mach_types.h" 200 | #import "mach/mach_vm.h" | `- note: in file included from <module-includes>:200: 201 | #import "mach/mach_voucher.h" 202 | #import "mach/mach_voucher_types.h" <unknown>:0: error: could not build Objective-C module 'Darwin' /Applications/Xcode-16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/usr/include/mach/mach_vm.h:438:2: error: unknown type name 'mach_vm_offset_list_t'; did you mean 'mach_vm_offset_t'? 436 | mach_vm_offset_list_t in_pointer_list, 437 | mach_msg_type_number_t in_pointer_listCnt, 438 | mach_vm_offset_list_t out_pointer_list, | `- error: unknown type name 'mach_vm_offset_list_t'; did you mean 'mach_vm_offset_t'? 439 | mach_msg_type_number_t *out_pointer_listCnt 440 | ); /Applications/Xcode-16.4.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/usr/include/mach/arm/vm_types.h:108:33: note: 'mach_vm_offset_t' declared here 106 | 107 | typedef uint64_t mach_vm_address_t __kernel_ptr_semantics; 108 | typedef uint64_t mach_vm_offset_t __kernel_ptr_semantics; | `- note: 'mach_vm_offset_t' declared here 109 | typedef uint64_t mach_vm_size_t; 110 | /Users/paulwilliamson/Developer/ios-app/Packages/Modules/ModalAdvert/Package.swift:4:8: error: failed to build module 'PackageDescription' for importation due to the errors above; the textual interface may be broken by project issues or a compiler bug 2 | // The swift-tools-version declares the minimum version of Swift required to build this package. 3 | 4 | import PackageDescription | `- error: failed to build module 'PackageDescription' for importation due to the errors above; the textual interface may be broken by project issues or a compiler bug 5 | 6 | let package = Package( We don't specify -disallow-use-new-driver, so I'm unsure where that message comes from. We have cleared derived data and are performing a clean build.
0
1
261
May ’25
Unity (IL2CPP) iOS Build: "_placeGeoAnchor" Undefined Symbol for Architecture arm64
Hi all, I’m running into a persistent linker error when building my Unity 6 project (IL2CPP, iOS target) that calls a Swift method via an Objective-C++ wrapper. Despite following all known steps, I keep getting: Undefined symbols for architecture arm64: "_placeGeoAnchor", referenced from: _GeoAnchorTrigger_placeGeoAnchor in libGameAssembly.a ... ld: symbol(s) not found for architecture arm64 I’m trying to place a persistent AR anchor at real-world GPS coordinates (so that the same asset can appear at the same location for a returning user). Since I’m targeting iOS, I can’t use Google’s geospatial anchors (but I sooo wish I could--please apple I beg of you stop being so selfish lol). I've already done these things: Swift file is added to Unity-iPhone target. .mm and .h files are in Unity-iPhone target under Compile Sources. Bridging header is set to Unity-iPhone-Bridging-Header.h. Generated header name is correct (GeoTest-Swift.h). Build Active Architecture Only set to No. Function has attribute((visibility("default"))). Unity project uses IL2CPP scripting backend. Yet I'm still getting the same linker error — it appears Unity (via IL2CPP) references the function, but Xcode doesn't link it. It’s something small that’s being missed with how IL2CPP links native symbols? Or maybe I need to explicitly include something in Link Binary With Libraries? I’ve verified symbol visibility and targets repeatedly. I’ve built AR features in Unity before (for Quest), but this is my first time trying to bridge C# → Objective-C++ → Swift in this way for a geolocation-based AR anchor for an iphone. I'm going crazy, I’ve been stuck on this for 12+ hours now, so any insight or nudge would be deeply appreciated. SPECS: Macbook Pro M4 Pro--Sequoia 15.4 Unity 6000.0.45f1 IPhone 11 iOS 18.4 Xcode 15
0
0
174
Apr ’25
AR Camera Freezes in Split View on iPad (Vuforia + Unity + iOS 16+)
Hi everyone, We're developing an AR app using Unity with Vuforia for object detection. Our app works well in full-screen mode, including detection and post-detection phases. However, we're facing a specific issue in iPad Split View multitasking mode. Problem: The AR camera (Vuforia-based) freezes during object detection if another app is opened in Split View. Post-detection, everything works fine in Split View. The problem only occurs during detection. Testing Environment: iPadOS 16+ Unity with Vuforia plugin Using EnableMultitaskingCameraAccess() method with AVFoundation to support camera multitasking AR scene is set up properly with detection capabilities in full-screen
0
0
140
May ’25
SchemeBuildError: Failed to build the scheme
I have an iOS app, and I am trying to add a companion WatchOS app. My iOS app depends on 2 libraries: GoogleMobileAds FirebaseAnalyticsWithoutAdIdSupport When I add a new target for WatchOS, the preview build starts to fail. I am not adding any libraries to WatchOS. The Google Ads and Firebase Analytics libs are only under the iOS target. I am unable to run the preview, I get an error when trying to build the watch scheme. The preview does not work. The build just crashes. I've included the error log below. But, here are the steps I've tried so far: Delete folders inside Derived Data Run a clean build (Cmd + Option + Shift + K) Delete scheme and create a new one Reset Package Cache Restart Xcode Restart Macbook But, it just does not work. I do not understand why the watchOS target is erroring for "GoogleUserMessagingPlatform" and "GoogleMobileAdsTarget" when those packages are not linked/used for the watchOS. SchemeBuildError: Failed to build the scheme “timerWatch Watch App” While building for watchOS Simulator, no library for this platform was found in '/Users/k/Library/Developer/Xcode/DerivedData/timer-dhkdhvfcqtfgskfdxpmupujswtuh/SourcePackages/artifacts/swift-package-manager-google-user-messaging-platform/UserMessagingPlatform/UserMessagingPlatform.xcframework'. (in target 'UserMessagingPlatformTarget' from project 'GoogleUserMessagingPlatform') Build target UserMessagingPlatformTarget: /Users/k/Library/Developer/Xcode/DerivedData/timer-dhkdhvfcqtfgskfdxpmupujswtuh/SourcePackages/artifacts/swift-package-manager-google-user-messaging-platform/UserMessagingPlatform/UserMessagingPlatform.xcframework:1:1: error: While building for watchOS Simulator, no library for this platform was found in '/Users/k/Library/Developer/Xcode/DerivedData/timer-dhkdhvfcqtfgskfdxpmupujswtuh/SourcePackages/artifacts/swift-package-manager-google-user-messaging-platform/UserMessagingPlatform/UserMessagingPlatform.xcframework'. (in target 'UserMessagingPlatformTarget' from project 'GoogleUserMessagingPlatform') Build target GoogleMobileAdsTarget: /Users/k/Library/Developer/Xcode/DerivedData/timer-dhkdhvfcqtfgskfdxpmupujswtuh/SourcePackages/artifacts/swift-package-manager-google-mobile-ads/GoogleMobileAds/GoogleMobileAds.xcframework:1:1: error: While building for watchOS Simulator, no library for this platform was found in '/Users/k/Library/Developer/Xcode/DerivedData/timer-dhkdhvfcqtfgskfdxpmupujswtuh/SourcePackages/artifacts/swift-package-manager-google-mobile-ads/GoogleMobileAds/GoogleMobileAds.xcframework'. (in target 'GoogleMobileAdsTarget' from project 'GoogleMobileAds')
0
0
114
Apr ’25
Build number management with Catalyst app
I have an iOS app that also has a Mac Catalyst version that I distribute on the Mac App Store. I upload builds to App Store Connect and use the "Manage version and build number" setting introduced in the past couple of years. This always works without a problem for the iOS version of the app. However, on the Mac, I often get a validation error like this: This bundle is invalid. The value for key CBundleVersion [2958] in the Info.plist file must contain a higher version than that of the previously uploaded version [2959]. Please find more information about CFBundleVersion at https://developer.apple.com/documentation/bundleresources/information_property_list/cfbundleversion (ID: 44cc3c93-a563-45bd-8e10-884444207eae) This is all without making any changes to the code or info plist. The exact same code will build, archive, and upload with no problems whatsoever. I often end up having to manually update the bundle version in order to get an upload to succeed. Once I do, both the iOS and Mac versions will upload and validate successfully, but the problem inevitably returns in future releases. All in all, it seems to defeat the purpose of the Xcode automatic build management feature. Am I missing a step somewhere? Why would this happen with the Mac build but not iOS?
0
1
181
Jul ’25
SFSpeechRecognizer is not working inside visionOS 2.4 simulator
I know there has been issues with SFSpeechRecognizer in iOS 17+ inside the simulator. Running into issues with speech not being recognised inside the visionOS 2.4 simulator as well (likely because it borrows from iOS frameworks). Just wondering if anyone has any work arounds or advice for this simulator issue. I can't test on device because I don't have an Apple Vision Pro. Using Swift 6 on Xcode 16.3. Below are the console logs & the code that I am using. Console Logs BACKGROUND SPATIAL TAP (hit BackgroundTapPlane) SpeechToTextManager.startRecording() called [0x15388a900|InputElement #0|Initialize] Number of channels = 0 in AudioChannelLayout does not match number of channels = 2 in stream format. iOSSimulatorAudioDevice-22270-1: Abandoning I/O cycle because reconfig pending iOSSimulatorAudioDevice-22270-1: Abandoning I/O cycle because reconfig pending iOSSimulatorAudioDevice-22270-1: Abandoning I/O cycle because reconfig pending iOSSimulatorAudioDevice-22270-1: Abandoning I/O cycle because reconfig pending iOSSimulatorAudioDevice-22270-1: Abandoning I/O cycle because reconfig pending iOSSimulatorAudioDevice-22270-1: Abandoning I/O cycle because reconfig pending SpeechToTextManager.startRecording() completed successfully and recording is active. GameManager.onTapToggle received. speechToTextManager.isAvailable: true, speechToTextManager.isRecording: true GameManager received tap toggle callback. Tapped Object: None BACKGROUND SPATIAL TAP (hit BackgroundTapPlane) GESTURE MANAGER - User is already recording, stopping recording SpeechToTextManager.stopRecording() called GameManager.onTapToggle received. speechToTextManager.isAvailable: true, speechToTextManager.isRecording: false Audio data size: 134400 bytes Recognition task error: No speech detected <--- Code private(set) var isRecording: Bool = false private var recognitionRequest: SFSpeechAudioBufferRecognitionRequest? private var recognitionTask: SFSpeechRecognitionTask? @MainActor func startRecording() async throws { logger.debug("SpeechToTextManager.startRecording() called") guard !isRecording else { logger.warning("Cannot start recording: Already recording.") throw AppError.alreadyRecording } currentTranscript = "" processingError = nil audioBuffer = Data() isRecording = true do { try await configureAudioSession() try await Task.detached { [weak self] in guard let self = self else { throw AppError.internalError(description: "SpeechToTextManager instance deallocated during recording setup.") } try await self.audioProcessor.configureAudioEngine() let (recognizer, request) = try await MainActor.run { () -> (SFSpeechRecognizer, SFSpeechAudioBufferRecognitionRequest) in guard let result = self.createRecognitionRequest() else { throw AppError.configurationError(description: "Speech recognition not available or SFSpeechRecognizer initialization failed.") } return result } await MainActor.run { self.recognitionRequest = request } await MainActor.run { self.recognitionTask = recognizer.recognitionTask(with: request) { [weak self] result, error in guard let self = self else { return } if let error = error { // WE ENTER INTO THIS BLOCK, ALWAYS self.logger.error("Recognition task error: \(error.localizedDescription)") self.processingError = .speechRecognitionError(description: error.localizedDescription) return } . . . } } . . . }.value } catch { . . . } } @MainActor func stopRecording() { logger.debug("SpeechToTextManager.stopRecording() called") guard isRecording else { logger.debug("Not recording, nothing to do") return } isRecording = false Task.detached { [weak self] in guard let self = self else { return } await self.audioProcessor.stopEngine() let finalBuffer = await self.audioProcessor.getAudioBuffer() await MainActor.run { self.recognitionRequest?.endAudio() self.recognitionTask?.cancel() } . . . } }
0
0
164
May ’25
Xcode doesn't recognise changes in file status, unable to stage and commit to repo.
I'm using Version 16.4 (16F6) of Xcode on macOS 15.5 (24F74) and everything was working fine until I selected an older build to branch out from. Now, Xcode cant properly know the file status as it keeps on changing it after quitting and relaunching it. The changes in the file are there and when trying to commit to the local repo it doesn't show any changes to stage. At present I'm relying on making project folder backups as a way of backing up builds. Any suggestions what can be done?
0
0
206
Jul ’25
Breakpoint on Runtime Issue os_log_fault_default_callback
The app stops on the breakpoint when "All Runtime Issues" is added. If I disable the breakpoint, the app runs normally. Is there a new project setting to avoid this breakpoint from being set. It does not appear to be a valid error. I am running Xcode 16.2. I edited the "Type" field in the breakpoint box. This occurs with the "System Frameworks" option only.
0
2
196
Apr ’25
Signing Issues with VisionOS app
I am having an issue with signing and provisioning a Vision OS app. I have an iOS app and a VisionOS app. Everything works fine on the iOS but having issues with the VisionOS. First, I am having issues with xcodebuild -exportArchive. When I run it on an archive of my VisionOS app I get ** EXPORT FAILED ** error: exportArchive No Accounts error: exportArchive No profiles for 'X' were found Where X is my bundle ID. Meanwhile the iOS app succeeds. This is on a CI machine but I confirmed the distribution provision profile for the vision OS app is installed on the machine. Even if I change the value of the -exportOptionsPlist to the one I used for the iOS project I get this error. Is the issue in the archive itself? The archives are generated from building in Unity and archiving the xcodeproject with xcodebuild archive Second, as a workaround I archived a debug ipa on my machine and uploaded this ipa to my CI machine which has the credentials to sign for distribution. I use this script as an example as how to resign the IPA: https://gist.github.com/lodalo/754a35b48d382ae99b25 I remove the CodeSignatures and codesign both .app and UnityFramework.framework. Using this resigned IPA I get this error when I try to upload to app store connect (via Transporter app and altool) errors: Validation failed (409) Missing or invalid signature. The bundle 'X' at bundle path 'Payload/Y.app' is not signed using an Apple submission certificate. To verify the signing I used codesign -dvvv --entitlements - On both the iOS and VisionOS app and they have the same values under all the Authority fields. Different profiles, of course. So the certificate I used is eligible to upload the iOS app successfully but doesn't work on the VisionOS ipa? Any help on solving any of these issues would be great so I can upload the vision OS app. Thank you!
0
0
374
Jul ’25
Does Xcode force to download latest iOS simulator after update?
I have Xcode on my mac. I am iOS Dev. I do not know what version of Xcode was before I did next steps, but I could say that I had iOS Simulator 18.3.1. So I update my Xcode to Version 16.3 (16E140). At this version is available iOS Simulator 18.4. But from some time before Xcode separate downloading components and actual Xcode itself. So i make update and do not download latest iOS simulator. What i have: in Xcode -> Settings -> Components under " Other Installed Platforms" i have iOS 18.3.1 and 17.5 in Choose Destination dropdown menu i have nothing. And Xcode say me that i need install iOS Simulator. After some time with ChatGPT I could not do nothing from this. I try go to : Window -> Device and Simulators and here create new simulator with 18.3.1 and make it appear Always. But it didn't help. Solution I did: I download latest version 18.4 because i could not wait because i need fix bug only 1 hour shift and it was this hour so i fast download the simulator. After downloading 18.4 in Choose Destination dropdown it appears all versions of simulaors and 18.3.1 and that i created and 17.5 Question: Does Xcode force to install latest version of iOS simulator? What is the sense of this upgrade that now Xcode is updating faster because it download 8 GB not 16 if eventually I need download 8 GB again ? The new what i could do download Xcode in the evening and Simulator in the morning?
0
0
162
Apr ’25
Xcode keeps touching readonly xcschemes on launch
We use Perforce for version control, which means that all files not checked out are readonly. Lately Xcode has started displaying a fixed sequence of these dialogs on every launch: This means it is trying to modify some readonly file within the xcodeproj. Out of our 60 subprojects this always comes up for the exact same 6. I have so far uncovered the following: It is really trying to modify the shared xcschemes and not the pbxproj. (If I set those to writable the dialog does not appear.) Actually the files are not changed if I click "Unlock", but the com.apple.provenance xattr flag is removed from them. These xcschemes are of version 1.7 while all others are 1.3. If I change them to 1.3 Xcode still wants to modify them at launch and sets them back to 1.7. This is very annoying. What is it about these xcschemes that upsets Xcode, and how can I stop these dialogs from appearing? (One workaround is to keep them checked out dumped to a changelist that I never submit, but that is error prone when I do need to make changes to those, and also is not really possible when jumping between old states of the repo to find the change that broke something.)
0
0
132
Jul ’25
Executable path is a directory XCode-16 iOS Simulator
I have the this issue when I run the app on iOS Simulator after updating to app to make it compatible with Xcode-16 and iOS-18. after upgradation to Xcode-16 its giving the above error "Executable path is a directory" .This app work fine on Xcode-15 . Note - The issue with iOS Simulator only. From XCode-16 build is created successfully and installed in iOS device.
0
0
72
May ’25
XCode 16 run Fastlane fail when called get_version_number function after convert project from groups to folders
My project is using Fastlane 2.226.0. After converted groups to folders on XCode 16, I got an error when executed below function in Fastfile: get_version_number(xcodeproj: "MyProject.xcodeproj", target: "MyProject") Below is the error message output after I ran fastlane: Unable to find XCode build setting: MARKETING_VERSION
0
0
114
Mar ’25
App Unable to Archive After Xcode Update
Hi! I am having trouble getting my app to build successfully or archive since an xcode update a few months ago. Below is the error that shows in the log. Thank you in advance for any help! Run custom shell script 'Run Script' Failed to package [project folder]. Command PhaseScriptExecution failed with a nonzero exit code
0
0
73
May ’25
XCframeworks with arm64e slices on Xcode 26
I have a XCFramework which contains slices for both arm64 and arm64e binaries, but some of my apps are only built for arm64. Prior to Xcode 26, this was not an issue, despite the binary in Frameworks folder still containing the arm64e slice. But now with Xcode 26 I get several errors when uploading to the Appstore: Validation failed Inconsistent arm64e support. The main bundle 'HackerNews.app' does not support arm64e. Verify that the all of the targets including [HackerNews.app/Frameworks/Sentry.framework] have consistent support for arm64e. (ID: 542eb011-2689-47fe-a5d5-d043342820a8) Validation failed Invalid architecture. The iOS 17.4 SDK or later is required for an arm64e slice. The bundle executable in “HackerNews.app/Frameworks/Sentry.framework” contains an arm64e slice with the iOS 17.2 SDK. (ID: 60f2cb75-e4be-4583-bebd-36d119275419) Is this intended behavior with Xcode 26?
0
2
177
Jun ’25
Unable to Install Provisioning profile
Hi, I'm unable to install provisioning profile on my iPad and I know the xcode component iOS/iPadOs version and iPadOS version should be same or below the latest compared to xcode components. Now the issue is xcode component version is iOS 18.4 (22E235) SDK + iOS 18.4 (22E238) Simulator (Installed) and iPadOS version is iOS 18.4.1(22E252) could this be cause of issue ? If yes then when will apple release components for 18.4.1? Because iOS 18.4.1 release at least 3-4 weeks before this post.
0
0
113
May ’25
iOS 18.4で NFC や FeliCa の読み取りがしずらい状況のようです。こちらは認知されていますでしょうか?どのバージョンで直る想定でしょうか?
■概要: 弊社で開発しているアプリ内には、モバイルSuicaを読み取る機能があるのですが、iOS18.4でSuicaの読み取りができない事象に遭遇しています。(ごくまれに読み取れるときがある) ■利用API CoreNFC ■聞きたいこと: こちらいつごろ修正されるか教えてください。 ■参考情報 他社様ですが類似だと思われる事象が発生しております。
0
0
135
Apr ’25