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

Xcode Documentation

Posts under Xcode subtopic

Post

Replies

Boosts

Views

Created

Privacy - Siri Usage Description being reset to default text "Describe why your app needs Siri access" on generating archive
I have an iOS app and that has CarPlay enabled. I have Siri capability and the feature has been tested in Car. The voice commands are working perfectly fine. However, I am facing a weird issue as described below, The key NSSiriUsageDescription, is set to custom text in info.plist. After generating archive, I exported and checked the package contents, in which the the key NSSiriUsageDescription was reset to default text(Describe why your app needs Siri access) in the info.plist. I do not have any dynamic build process that's writing to the info.plist. Only the Siri key is being reset, rest of keys like camera/location permissions are intact. Kindly suggest what needs to be done at my end
0
0
353
May ’25
Granting Microphone Access through in-app authorisation request on the VisionOS 2.4 Simulator causes it to crash
When requesting authorisation to gain access to the user's microphone in the visionOS 2.4 simulator, the simulator crashes upon the user clicking allow. Using Swift 6, code below. Bug Report: FB17667361 @MainActor private func checkMicrophonePermission() async { logger.debug("Checking microphone permissions...") // Get the current permission status let micAuthStatus = AVAudioApplication.shared.recordPermission logger.debug("Current Microphone permission status: \(micAuthStatus.rawValue)") if micAuthStatus == .undetermined { logger.info("Requesting microphone authorization...") // Use structured concurrency to wait for permission result let granted = await withCheckedContinuation { continuation in AVAudioApplication.requestRecordPermission() { allowed in continuation.resume(returning: allowed) } } logger.debug("Received microphone permission result: \(granted)") // Convert to SFSpeechRecognizerAuthorizationStatus for consistency let status: SFSpeechRecognizerAuthorizationStatus = granted ? .authorized : .denied // Handle the authorization status handleAuthorizationStatus(status: status, type: "Microphone") // If granted, configure audio session if granted { do { try await configureAudioSession() } catch { logger.error("Failed to configure audio session after microphone authorization: \(error.localizedDescription)") self.isAvailable = false self.processingError = .audioSessionError(description: "Failed to configure audio session after microphone authorization") } } } else { // Convert to SFSpeechRecognizerAuthorizationStatus for consistency let status: SFSpeechRecognizerAuthorizationStatus = (micAuthStatus == .granted) ? .authorized : .denied handleAuthorizationStatus(status: status, type: "Microphone") // If already granted, configure audio session if micAuthStatus == .granted { do { try await configureAudioSession() } catch { logger.error("Failed to configure audio session for existing microphone authorization: \(error.localizedDescription)") self.isAvailable = false self.processingError = .audioSessionError(description: "Failed to configure audio session for existing microphone authorization") } } } }
1
1
175
May ’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
173
May ’25
Predictive code completion is not working for existing project.
My project was created on a Mac with an Intel processor. Predictive code completion is enabled in Safari settings. The predictive model is loaded. However, the predictive typing does not work. For new projects it works. I took the following steps to fix this problem: 1. Ensure Indexing is Enabled and Up-to-Date: Enable Indexing: In Terminal, run the command defaults write com.apple.dt.XCode IDEIndexDisable 0. Clean and Rebuild: Go to "Product" > "Clean Build Folder" in Xcode. Then, rebuild your project. Check Derived Data: Xcode uses a "DerivedData" folder to store build artifacts. Try clearing this folder by navigating to ~/Library/Developer/Xcode/DerivedData and deleting its contents (you can use the command rm -rfv * in Terminal). 2. Verify Xcode Settings: Enable Predictive Code Completion: Go to Xcode > Settings > Text Editing > Editing and ensure "Predictive code completion" is checked. Check for Predictive Code Completion Model: In Xcode, go to Settings > Components. Ensure the "Predictive Code Completion Model" is downloaded and installed. If it's not, try downloading it by clicking the "+" button and selecting it. Disable and Re-enable: Try disabling predictive code completion in Xcode's settings and then re-enabling it. But this not help. I use latest macOS and Xcode.
1
1
129
May ’25
unsupported option '-G' for target 'arm64-apple-ios12.0'
I had an Intel macbook and I used that to build and release my app to app store but I didn't release for 2 years. Recently a bug was reported that I needed to update the a code and make a new release with my apple silicon macbook. But I get this issue when I go to Product -> Archive. I tried updating pods, as well as adding following line to the Podfile but no change. platform :ios, "12.0" target "myApp" do use_frameworks! pod "AFNetworking" pod "KVNProgress" pod "GCDWebServer" pod "CocoaLumberjack" pod "Intercom" pod "GoogleWebRTC" pod "SAMKeychain" pod "googleapis", :path => '.' pod 'gRPC', '1.0.0' pod 'gRPC-Core', '1.0.0' pod 'gRPC-ProtoRPC', '1.0.0' pod 'gRPC-RxLibrary', '1.0.0' pod 'BoringSSL-GRPC', '0.0.7' end post_install do |installer| installer.pods_project.targets.each do |target| if target.name == 'BoringSSL-GRPC' target.source_build_phase.files.each do |file| if file.settings && file.settings['COMPILER_FLAGS'] flags = file.settings['COMPILER_FLAGS'].split flags.reject! { |flag| flag == '-GCC_WARN_INHIBIT_ALL_WARNINGS' } file.settings['COMPILER_FLAGS'] = flags.join(' ') end end end end end Nothing worked for me. What do I do now? I appreciate any help
0
0
161
May ’25
The UT coverage does not include branch coverage for swift
We using below command to run unit test and collect coverage: xcodebuild -workspace Demo.xcworkspace -scheme VideoTests -configuration Debug -derivedDataPath ../build/derivedData -destination 'platform=iOS Simulator,id=E6630007-570B-4DEB-A023-2BCE91116A8D' -resultBundlePath './fastlane/test_output/VideoTests.xcresult' -enableCodeCoverage YES -testPlan 'Video' test-without-building | tee '/Users/rcadmin/Library/Logs/scan/VideoTests.log' | xcbeautify -q --is-ci and using xcrun llvm-cov show command to generate coverage report: xcrun llvm-cov show /build/unit-test/coverage/libraries/merged/video.o -instr-profile=/app/ios/build/derivedData/Build//ProfileData/E6630007-570B-4DEB-A023-2BCE91116A8D/video.profdata -show-branches count -show-expansions -show-line-counts -use-color -format=html -output-dir coverage and the html report does not include branch coverage: how to generate the branch coverage?
0
0
175
May ’25
Unable to send iMessage game extension on simulator
I recently started building an iMessage game, and whenever I try to send the game through the first contact on the simulator to loop back into the second one, I get an alert saying "Unable to send. The recipient can not receive this item via satellite". Has anyone experienced this? If so, do you have a solution? It is making it a bit difficult to test the flow of my app.
1
0
121
May ’25
Windows / Linux support.
No, seriously, what's the excuse there? How many apps never got to iOS because of this? I already have a computer I'm happy with, buying a Mac just for code is too much. Yet I really wish I could develop for my iPad, because I love my iPad. So here I am, doing android dev for my phone, hopping someday, I can make iOS dev too.
1
0
78
May ’25
Organizer won't load
I'm unable to use Organizer due to this error. The app shown in the error message is an old, unused test app. I'd delete it if I could, but there doesn't seem to be a way to do that. The app is named "@Home Test" and I suspect that the @ character is what's causing the problem. I need to use Organizer for a completely different app on another team, but I can't get past this.
1
0
84
May ’25
iOS Simulator (18.4) crashes when user clicks allow for Speech Recognition permission popup
When a new application runs on iOS 18.4 simulator and tries to access the Speech Framework, prompting a request for authorisation to use Speech Recognition, the application will crash if the user clicks allow. Same issue in the visionOS 2.4 simulator. Using Swift 6. Report Identifier: FB17686186 /// Checks speech recognition availability and requests necessary permissions. @MainActor func checkAvailabilityAndPermissions() async { logger.debug("Checking speech recognition availability and permissions...") // 1. Verify that the speechRecognizer instance exists guard let recognizer = speechRecognizer else { logger.error("Speech recognizer is nil - speech recognition won't be available.") reportError(.configurationError(description: "Speech recognizer could not be created."), context: "checkAvailabilityAndPermissions") self.isAvailable = false return } // 2. Check recognizer availability (might change at runtime) if !recognizer.isAvailable { logger.error("Speech recognizer is not available for the current locale.") reportError(.configurationError(description: "Speech recognizer not available."), context: "checkAvailabilityAndPermissions") self.isAvailable = false return } logger.trace("Speech recognizer exists and is available.") // 3. Request Speech Recognition Authorization // IMPORTANT: Add `NSSpeechRecognitionUsageDescription` to Info.plist let speechAuthStatus = SFSpeechRecognizer.authorizationStatus() logger.debug("Current Speech Recognition authorization status: \(speechAuthStatus.rawValue)") if speechAuthStatus == .notDetermined { logger.info("Requesting speech recognition authorization...") // Use structured concurrency to wait for permission result let authStatus = await withCheckedContinuation { continuation in SFSpeechRecognizer.requestAuthorization { status in continuation.resume(returning: status) } } logger.debug("Received authorization status: \(authStatus.rawValue)") // Now handle the authorization result let speechAuthorized = (authStatus == .authorized) handleAuthorizationStatus(status: authStatus, type: "Speech Recognition") // If speech is granted, now check microphone if speechAuthorized { await checkMicrophonePermission() } } else { // Already determined, just handle it let speechAuthorized = (speechAuthStatus == .authorized) handleAuthorizationStatus(status: speechAuthStatus, type: "Speech Recognition") // If speech is already authorized, check microphone if speechAuthorized { await checkMicrophonePermission() } } }
0
0
290
May ’25
How can I add a folder to my app's bundle
In previous Xcode versions, it was possible to add a folder reference to a project, and in the copy resources build phase it would copy the folder the bundle, rather than the contents (i.e. the folder's contents would be nested inside a directory named after the folder). In Xcode 16.4, when creating a folder reference, the copy resources build phase will copy the contents of the folder to the bundle at the root level (not nested), like the old behavior when creating a group rather than a folder reference. If you look at the raw project.pbxproj file, it shows up as a "File System Synchronized Root Group" rather than a "File Reference". Is there a way to get the old behavior, aside from hand-editing the project.pbxproj file?
1
0
100
May ’25
Xcode does not see code changes in local Swift packages (autocomplete wrong, errors shown, but still compiles)
Hey, I've been having a lot of problems with Xcode 16 not seeing changes made to code in local Swift packages (the packages are inside the root directory of the project). Whenever I make any change like renaming a variable or type, or adding new methods or whatever, autocomplete doesn't see those changes and when I type in that new type/variable manually it gives me an error. However, building the project still works fine, even with the errors never going away. The only way for it to notice the code changes is to clean the project and build it again which takes a long time. At first, I thought this was connected to the new "Explicitly built modules" feature in Xcode 16, but I turned it off and it still happens. Any ideas what I can try? I'm on the latest Xcode version, but this problem has been happening since Xcode 16 originally came out. Thanks! Dennis
0
0
181
May ’25
app not playing audio when not in focus
My app works fine when I load it directly from Xcode to my phone via USB but once I load it to TestFlight the sounds no longer play when the app is not in focus or the phone is locked. I've tried every combination of tools available from the support group and from AI! And I'm out of ideas.
1
0
80
May ’25
-Xlinker -reproducible flag breaks debug symbols for static library which object files has same name
Hi! For example i have library with structure like ModuleA/test.cpp, ModuleB/test.cpp, then i build it like: #Building library clang++ -c ModuleA/test.cpp -o ModuleA/test.o clang++ -c ModuleB/test.cpp -o ModuleB/test.o libtool -o module.a ModuleA/test.o ModuleB/test.o #Now reproducing build steps from Xcode #Compiling... clang++ -c main.cpp -o main.o #Linking... clang++ -Xlinker -reproducible -o main main.o module.a Now if we launch lldb main, we cant set breakpoint in file ModuleB/test.cpp, only in ModuleA/test.cpp, if link without -Xlinker -reproducible, both breakpoints working as expected. Also dsymutil completely delete symbols for "duplicate" library if link with reproducible flag. It's just example, in real static library i can't change behavior of building process, and can't change names of producing object files. Xcode always set -Xlinker -reproducible flag, and i don't know how to disable it, and my debugging process partially broken. ENV: macos: 15.4.1 Xcode: 16.2
4
0
346
May ’25
xcode 16.3 now not selecting correct Signing Certificate with Automatically Manage Signing Selected
HI, I upgraded to macos 15.5 and xcode 16.3. Last year I was able to update one of my apps on the App Store without issues. Today, after a successful Testflight test, I now need to submit a new version of my app to the App Store for Distribution as the next version/build. However, when I configure a manual setting for the signing, I can select the correct choices. But when I click automatically manage signing, and choose the correct team, xcode put in the wrong signing certificate. It is choose a development one, and not the distribution one. I am concerned about this since I have read that when using the Archive tool, it choses the automatically manage signing by default. And that check box is selecting the "default" settings. I do not know where these default settings are being set, or how to fix this issue. I do not see any info in my searching up to this point. I hope someone can help. thank you, cc
0
0
121
May ’25
Privacy - Siri Usage Description being reset to default text "Describe why your app needs Siri access" on generating archive
I have an iOS app and that has CarPlay enabled. I have Siri capability and the feature has been tested in Car. The voice commands are working perfectly fine. However, I am facing a weird issue as described below, The key NSSiriUsageDescription, is set to custom text in info.plist. After generating archive, I exported and checked the package contents, in which the the key NSSiriUsageDescription was reset to default text(Describe why your app needs Siri access) in the info.plist. I do not have any dynamic build process that's writing to the info.plist. Only the Siri key is being reset, rest of keys like camera/location permissions are intact. Kindly suggest what needs to be done at my end
Replies
0
Boosts
0
Views
353
Activity
May ’25
Resetting settings through the Apple Vision Pro Simulator is bugged
When you try to reset settings through the Apple Vision Pro simulator (VisionOS 2.4) you get an error "Preferences quit unexpectedly". Bug report: FB17666053
Replies
0
Boosts
0
Views
188
Activity
May ’25
Swift Package Manager and AWS
I am trying to create a simple Swift package that uses AWS SDK for Swift but I get an error that says it can't import one of the modules, actually any of the modules. I researched this for a couple of days but can't figure out how to get this working. Any help would be appreciated.
Replies
1
Boosts
0
Views
97
Activity
May ’25
Granting Microphone Access through in-app authorisation request on the VisionOS 2.4 Simulator causes it to crash
When requesting authorisation to gain access to the user's microphone in the visionOS 2.4 simulator, the simulator crashes upon the user clicking allow. Using Swift 6, code below. Bug Report: FB17667361 @MainActor private func checkMicrophonePermission() async { logger.debug("Checking microphone permissions...") // Get the current permission status let micAuthStatus = AVAudioApplication.shared.recordPermission logger.debug("Current Microphone permission status: \(micAuthStatus.rawValue)") if micAuthStatus == .undetermined { logger.info("Requesting microphone authorization...") // Use structured concurrency to wait for permission result let granted = await withCheckedContinuation { continuation in AVAudioApplication.requestRecordPermission() { allowed in continuation.resume(returning: allowed) } } logger.debug("Received microphone permission result: \(granted)") // Convert to SFSpeechRecognizerAuthorizationStatus for consistency let status: SFSpeechRecognizerAuthorizationStatus = granted ? .authorized : .denied // Handle the authorization status handleAuthorizationStatus(status: status, type: "Microphone") // If granted, configure audio session if granted { do { try await configureAudioSession() } catch { logger.error("Failed to configure audio session after microphone authorization: \(error.localizedDescription)") self.isAvailable = false self.processingError = .audioSessionError(description: "Failed to configure audio session after microphone authorization") } } } else { // Convert to SFSpeechRecognizerAuthorizationStatus for consistency let status: SFSpeechRecognizerAuthorizationStatus = (micAuthStatus == .granted) ? .authorized : .denied handleAuthorizationStatus(status: status, type: "Microphone") // If already granted, configure audio session if micAuthStatus == .granted { do { try await configureAudioSession() } catch { logger.error("Failed to configure audio session for existing microphone authorization: \(error.localizedDescription)") self.isAvailable = false self.processingError = .audioSessionError(description: "Failed to configure audio session for existing microphone authorization") } } } }
Replies
1
Boosts
1
Views
175
Activity
May ’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() } . . . } }
Replies
0
Boosts
0
Views
173
Activity
May ’25
Xcode 16.3 Pods Compilation Issue
I am on MacOs 15.4.1 which is being deployed with an old version of Ruby ruby 2.6.10 and bundler version 1.17.2. I ran pod install after generating the pods with these versions and during the application compilation there have been several issues reported against pods code.
Replies
0
Boosts
0
Views
115
Activity
May ’25
Predictive code completion is not working for existing project.
My project was created on a Mac with an Intel processor. Predictive code completion is enabled in Safari settings. The predictive model is loaded. However, the predictive typing does not work. For new projects it works. I took the following steps to fix this problem: 1. Ensure Indexing is Enabled and Up-to-Date: Enable Indexing: In Terminal, run the command defaults write com.apple.dt.XCode IDEIndexDisable 0. Clean and Rebuild: Go to "Product" > "Clean Build Folder" in Xcode. Then, rebuild your project. Check Derived Data: Xcode uses a "DerivedData" folder to store build artifacts. Try clearing this folder by navigating to ~/Library/Developer/Xcode/DerivedData and deleting its contents (you can use the command rm -rfv * in Terminal). 2. Verify Xcode Settings: Enable Predictive Code Completion: Go to Xcode > Settings > Text Editing > Editing and ensure "Predictive code completion" is checked. Check for Predictive Code Completion Model: In Xcode, go to Settings > Components. Ensure the "Predictive Code Completion Model" is downloaded and installed. If it's not, try downloading it by clicking the "+" button and selecting it. Disable and Re-enable: Try disabling predictive code completion in Xcode's settings and then re-enabling it. But this not help. I use latest macOS and Xcode.
Replies
1
Boosts
1
Views
129
Activity
May ’25
iOS 15.0 Minimum deployment version
Hi, I'm trying to plan some roadmaps out and also have some issues with ios 15.0. Since it's no longer supported by Apple, any word on if/when iOS 15.0 will be removed from the "minimum deployment" version list in Xcode?
Replies
0
Boosts
1
Views
76
Activity
May ’25
unsupported option '-G' for target 'arm64-apple-ios12.0'
I had an Intel macbook and I used that to build and release my app to app store but I didn't release for 2 years. Recently a bug was reported that I needed to update the a code and make a new release with my apple silicon macbook. But I get this issue when I go to Product -> Archive. I tried updating pods, as well as adding following line to the Podfile but no change. platform :ios, "12.0" target "myApp" do use_frameworks! pod "AFNetworking" pod "KVNProgress" pod "GCDWebServer" pod "CocoaLumberjack" pod "Intercom" pod "GoogleWebRTC" pod "SAMKeychain" pod "googleapis", :path => '.' pod 'gRPC', '1.0.0' pod 'gRPC-Core', '1.0.0' pod 'gRPC-ProtoRPC', '1.0.0' pod 'gRPC-RxLibrary', '1.0.0' pod 'BoringSSL-GRPC', '0.0.7' end post_install do |installer| installer.pods_project.targets.each do |target| if target.name == 'BoringSSL-GRPC' target.source_build_phase.files.each do |file| if file.settings && file.settings['COMPILER_FLAGS'] flags = file.settings['COMPILER_FLAGS'].split flags.reject! { |flag| flag == '-GCC_WARN_INHIBIT_ALL_WARNINGS' } file.settings['COMPILER_FLAGS'] = flags.join(' ') end end end end end Nothing worked for me. What do I do now? I appreciate any help
Replies
0
Boosts
0
Views
161
Activity
May ’25
The UT coverage does not include branch coverage for swift
We using below command to run unit test and collect coverage: xcodebuild -workspace Demo.xcworkspace -scheme VideoTests -configuration Debug -derivedDataPath ../build/derivedData -destination 'platform=iOS Simulator,id=E6630007-570B-4DEB-A023-2BCE91116A8D' -resultBundlePath './fastlane/test_output/VideoTests.xcresult' -enableCodeCoverage YES -testPlan 'Video' test-without-building | tee '/Users/rcadmin/Library/Logs/scan/VideoTests.log' | xcbeautify -q --is-ci and using xcrun llvm-cov show command to generate coverage report: xcrun llvm-cov show /build/unit-test/coverage/libraries/merged/video.o -instr-profile=/app/ios/build/derivedData/Build//ProfileData/E6630007-570B-4DEB-A023-2BCE91116A8D/video.profdata -show-branches count -show-expansions -show-line-counts -use-color -format=html -output-dir coverage and the html report does not include branch coverage: how to generate the branch coverage?
Replies
0
Boosts
0
Views
175
Activity
May ’25
Unable to send iMessage game extension on simulator
I recently started building an iMessage game, and whenever I try to send the game through the first contact on the simulator to loop back into the second one, I get an alert saying "Unable to send. The recipient can not receive this item via satellite". Has anyone experienced this? If so, do you have a solution? It is making it a bit difficult to test the flow of my app.
Replies
1
Boosts
0
Views
121
Activity
May ’25
Windows / Linux support.
No, seriously, what's the excuse there? How many apps never got to iOS because of this? I already have a computer I'm happy with, buying a Mac just for code is too much. Yet I really wish I could develop for my iPad, because I love my iPad. So here I am, doing android dev for my phone, hopping someday, I can make iOS dev too.
Replies
1
Boosts
0
Views
78
Activity
May ’25
Organizer won't load
I'm unable to use Organizer due to this error. The app shown in the error message is an old, unused test app. I'd delete it if I could, but there doesn't seem to be a way to do that. The app is named "@Home Test" and I suspect that the @ character is what's causing the problem. I need to use Organizer for a completely different app on another team, but I can't get past this.
Replies
1
Boosts
0
Views
84
Activity
May ’25
iOS Simulator (18.4) crashes when user clicks allow for Speech Recognition permission popup
When a new application runs on iOS 18.4 simulator and tries to access the Speech Framework, prompting a request for authorisation to use Speech Recognition, the application will crash if the user clicks allow. Same issue in the visionOS 2.4 simulator. Using Swift 6. Report Identifier: FB17686186 /// Checks speech recognition availability and requests necessary permissions. @MainActor func checkAvailabilityAndPermissions() async { logger.debug("Checking speech recognition availability and permissions...") // 1. Verify that the speechRecognizer instance exists guard let recognizer = speechRecognizer else { logger.error("Speech recognizer is nil - speech recognition won't be available.") reportError(.configurationError(description: "Speech recognizer could not be created."), context: "checkAvailabilityAndPermissions") self.isAvailable = false return } // 2. Check recognizer availability (might change at runtime) if !recognizer.isAvailable { logger.error("Speech recognizer is not available for the current locale.") reportError(.configurationError(description: "Speech recognizer not available."), context: "checkAvailabilityAndPermissions") self.isAvailable = false return } logger.trace("Speech recognizer exists and is available.") // 3. Request Speech Recognition Authorization // IMPORTANT: Add `NSSpeechRecognitionUsageDescription` to Info.plist let speechAuthStatus = SFSpeechRecognizer.authorizationStatus() logger.debug("Current Speech Recognition authorization status: \(speechAuthStatus.rawValue)") if speechAuthStatus == .notDetermined { logger.info("Requesting speech recognition authorization...") // Use structured concurrency to wait for permission result let authStatus = await withCheckedContinuation { continuation in SFSpeechRecognizer.requestAuthorization { status in continuation.resume(returning: status) } } logger.debug("Received authorization status: \(authStatus.rawValue)") // Now handle the authorization result let speechAuthorized = (authStatus == .authorized) handleAuthorizationStatus(status: authStatus, type: "Speech Recognition") // If speech is granted, now check microphone if speechAuthorized { await checkMicrophonePermission() } } else { // Already determined, just handle it let speechAuthorized = (speechAuthStatus == .authorized) handleAuthorizationStatus(status: speechAuthStatus, type: "Speech Recognition") // If speech is already authorized, check microphone if speechAuthorized { await checkMicrophonePermission() } } }
Replies
0
Boosts
0
Views
290
Activity
May ’25
iOS Simulator (18.4) crashes when user clicks allow for microphone permission popup
Start from clean iOS 18.4 simulator. Application tried to request authorisation from user for microphone access. Clicking allow caused the application crashed. Used Swift 6. Report Identifier FB17686864.
Replies
0
Boosts
0
Views
212
Activity
May ’25
How can I add a folder to my app's bundle
In previous Xcode versions, it was possible to add a folder reference to a project, and in the copy resources build phase it would copy the folder the bundle, rather than the contents (i.e. the folder's contents would be nested inside a directory named after the folder). In Xcode 16.4, when creating a folder reference, the copy resources build phase will copy the contents of the folder to the bundle at the root level (not nested), like the old behavior when creating a group rather than a folder reference. If you look at the raw project.pbxproj file, it shows up as a "File System Synchronized Root Group" rather than a "File Reference". Is there a way to get the old behavior, aside from hand-editing the project.pbxproj file?
Replies
1
Boosts
0
Views
100
Activity
May ’25
Xcode does not see code changes in local Swift packages (autocomplete wrong, errors shown, but still compiles)
Hey, I've been having a lot of problems with Xcode 16 not seeing changes made to code in local Swift packages (the packages are inside the root directory of the project). Whenever I make any change like renaming a variable or type, or adding new methods or whatever, autocomplete doesn't see those changes and when I type in that new type/variable manually it gives me an error. However, building the project still works fine, even with the errors never going away. The only way for it to notice the code changes is to clean the project and build it again which takes a long time. At first, I thought this was connected to the new "Explicitly built modules" feature in Xcode 16, but I turned it off and it still happens. Any ideas what I can try? I'm on the latest Xcode version, but this problem has been happening since Xcode 16 originally came out. Thanks! Dennis
Replies
0
Boosts
0
Views
181
Activity
May ’25
app not playing audio when not in focus
My app works fine when I load it directly from Xcode to my phone via USB but once I load it to TestFlight the sounds no longer play when the app is not in focus or the phone is locked. I've tried every combination of tools available from the support group and from AI! And I'm out of ideas.
Replies
1
Boosts
0
Views
80
Activity
May ’25
-Xlinker -reproducible flag breaks debug symbols for static library which object files has same name
Hi! For example i have library with structure like ModuleA/test.cpp, ModuleB/test.cpp, then i build it like: #Building library clang++ -c ModuleA/test.cpp -o ModuleA/test.o clang++ -c ModuleB/test.cpp -o ModuleB/test.o libtool -o module.a ModuleA/test.o ModuleB/test.o #Now reproducing build steps from Xcode #Compiling... clang++ -c main.cpp -o main.o #Linking... clang++ -Xlinker -reproducible -o main main.o module.a Now if we launch lldb main, we cant set breakpoint in file ModuleB/test.cpp, only in ModuleA/test.cpp, if link without -Xlinker -reproducible, both breakpoints working as expected. Also dsymutil completely delete symbols for "duplicate" library if link with reproducible flag. It's just example, in real static library i can't change behavior of building process, and can't change names of producing object files. Xcode always set -Xlinker -reproducible flag, and i don't know how to disable it, and my debugging process partially broken. ENV: macos: 15.4.1 Xcode: 16.2
Replies
4
Boosts
0
Views
346
Activity
May ’25
xcode 16.3 now not selecting correct Signing Certificate with Automatically Manage Signing Selected
HI, I upgraded to macos 15.5 and xcode 16.3. Last year I was able to update one of my apps on the App Store without issues. Today, after a successful Testflight test, I now need to submit a new version of my app to the App Store for Distribution as the next version/build. However, when I configure a manual setting for the signing, I can select the correct choices. But when I click automatically manage signing, and choose the correct team, xcode put in the wrong signing certificate. It is choose a development one, and not the distribution one. I am concerned about this since I have read that when using the Archive tool, it choses the automatically manage signing by default. And that check box is selecting the "default" settings. I do not know where these default settings are being set, or how to fix this issue. I do not see any info in my searching up to this point. I hope someone can help. thank you, cc
Replies
0
Boosts
0
Views
121
Activity
May ’25