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

Xcode Documentation

Posts under Xcode subtopic

Post

Replies

Boosts

Views

Activity

One of my recent version metrics disappear in Xcode organizer metrics
Hello, For one of my recent release (2 versions ago), I used to be able to check its p50 of Hang Rate, but now it disappear and not showing up in XCode Organizer Metrics anymore. The p90 of Hang Rate of this version is still there. It's so unpredictable. Is there something we can do to get this data to populate? If not, may I understand usually why this issue will happen, is it something frond-end bug or is it because there is some thing abnormal going on in the back-end data?
1
0
185
Apr ’25
Xcode has high CPU usage when apparently doing nothing for hours
In 2020 I created FB7719215, which I updated several times (including just now) and in 2021 I created FB9204092, but the issue is still there: when I keep Xcode open (currently version 16.3), my battery drains much quicker, even when it's apparently idle. For instance, today I barely did anything in Xcode, but still it has been at a constant 90% CPU for the last hours, and I keep checking the battery percentage to check how much time I have left. Does anyone at Apple has an explanation, workaround and/or fix?
2
0
151
Jun ’25
C++ Binary Size Increase in Xcode 16 Compared to Xcode 15
I've recently upgraded my project from Xcode 15 to Xcode 16. Without changing any build settings or compiler flags, I noticed that the final executable size has increased significantly when building the same C++ code. Investigation: To investigate further, I compared the Link Map outputs from both versions of Xcode. One key difference I found: The symbol size for std::sort increased from 4,336 bytes (Xcode 15) to 6,084 bytes (Xcode 16) – a ~40% increase. This seems to be part of a broader trend where other standard library symbols are also taking up more space in the binary when built with Xcode 16. Questions: Has Apple Clang or libc++ in Xcode 16 changed the implementation of STL algorithms like std::sort? Are there changes in inlining, template instantiation, or debug info that could explain the increase? Is this expected behavior? If so, is there any guidance on minimizing the binary size regression?
0
0
151
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
141
May ’25
Google map APIs not working in my app with xcode 16.3
https://maps.googleapis.com/maps/api/place/autocomplete/json?input=station%20bab%20saadoun&key=GOOGLE_API_KEY&components=country:TN func googleAutocomplete(for query: String, completion: @escaping ([GooglePlaces]) -> Void) { let apiKey = GoogleMapAPIs.shared.apiKey let baseURL = "https://maps.googleapis.com/maps/api/place/autocomplete/json" guard let url = URL(string: "\(baseURL)?input=\(query)&key=\(apiKey)&components=country:TN") else { print("Invalid URL") completion([]) return } print(url) let task = URLSession.shared.dataTask(with: url) { data, response, error in if let error = error { print("Error fetching data: \(error.localizedDescription)") completion([]) return } guard let data = data else { print("No data received") completion([]) return } do { let decodedResponse = try JSONDecoder().decode(GooglePlacesResponse.self, from: data) completion(decodedResponse.predictions) } catch { print("Decoding error: \(error)") completion([]) } } task.resume() } struct GooglePlaces: Codable { let title: String? let region: StructuredFormatting? let placeID: String? enum CodingKeys: String, CodingKey { case title = "description" case region = "structured_formatting" case placeID = "place_id" } } struct StructuredFormatting: Codable { let main_text: String let secondary_text: String? } struct GooglePlacesResponse: Codable { let predictions: [GooglePlaces] } Error fetching data: The network connection was lost.
0
0
65
Apr ’25
Adding a profile to Xcode broke building, pod install fails
Running the command (pod install) fails after adding our profile, I'm new to Xcode and I'm unclear how adding the profile has affected the build. [Error] Type checking error: got Array for attribute: Attribute shellScript (type: simple, classes: [String], owner class: PBXShellScriptBuildPhase) [External References] https://github.com/CocoaPods/CocoaPods/issues/12794
1
0
68
Apr ’25
iOS Simulator Keychain Issues After Xcode Reinstall
Hello All I'm encountering an issue with Keychain access in iOS simulators after reinstalling Xcode. My app successfully accesses the Keychain on physical devices, but simulators consistently fail with errors. Details: App uses Keychain to store API keys Works perfectly on physical devices After Xcode reinstall, simulator Keychain access fails Error logs show "Keychain retrieve failed for key with status: -25300" I've properly configured Keychain Sharing entitlements My entitlements file includes: $(AppIdentifierPrefix)******* What I've tried: Resetting simulators Deleting simulator Keychain databases manually Adding Keychain Sharing capability Ensuring entitlements are correct My app worked fine with simulators before reinstalling Xcode, which suggests something changed in the development environment rather than my code. Has anyone encountered similar issues? Is there a recommended approach for handling Keychain access in simulators that's more resilient to Xcode environment changes? Thanks for your help!
0
0
158
Apr ’25
Trouble Distributing iOS + WatchOS App as a Bundle (Info.plist / Target Confusion)
Hi all, I’m running into an issue with my iOS + Apple Watch app project, and I could really use some advice. My WatchOS app requires an iOS companion for settings and configuration, so both apps need to be distributed together. Here’s how I structured my Xcode project: Main iOS App target WatchOS App target WatchOS Extension target However, I’m very confused about how these targets interact, and things are not working as expected. The problem: I can build and run the WatchOS app and its extension independently in the simulator by selecting their schemes. When I select the main iOS app scheme, I get an error about ITSWatchOnlyContainer in the Info.plist—even though there’s no Info tab for that target in Xcode. I’m able to distribute the WatchOS app by itself, and the extension as well. But I can’t distribute them bundled together as a single package, and I haven’t found any clear resources that explain how to fix this. This is my very first app, and it’s frustrating to get stuck just before the finish line! Project Structure / steps to reproduce Let’s say my project is called MyAppProject, with these targets: MyAppProject Main iOS App Embedded target: MyAppProject Watch App Bundle identifier: com.example.MyAppProject MyAppProject Watch App WKCompanionAppBundleIdentifier: com.example.MyAppProject “Requires iOS App”: YES MyAppProject Extension Bundle identifier: com.example.MyAppProject When running from the MyAppProject scheme, I get this error (even though I can’t see or edit the Info.plist in Xcode for this target): “Please try again later. This app has the ITSWatchOnlyContainer key set in its Info.plist, which identifies it as a shell app surrounding a Watch-only app; these are not installable.” As a result, I can’t distribute the app as a bundle. I’d appreciate help understanding: How should the Info.plist files be configured for each target? What do I do if the Info.plist path seems missing in the Xcode UI? Is there a “correct” way to structure an iOS + WatchOS app for bundled distribution?
0
0
125
Jun ’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
157
May ’25
CLLocationManagerDelegate not working on Siri Intents
I need to elicit the location of the user in the Siri intents and so I call: override init(){ super.init() self.locationManager=CLLocationManager() self.locationManager.delegate = self; self.locationManager.startUpdatingLocation() self.locationManager.requestWhenInUseAuthorization() } Still neither public func locationManagerDidChangeAuthorization(_ manager: CLLocationManager) nor public func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) are ever called, notwithstanding the presence of the correct entry in the info.plist, the inclusion of the library and the indication of the delegation with: class IntentHandler: INExtension, INSendMessageIntentHandling, CLLocationManagerDelegate, UISceneDelegate are ever called. Is there any problem with CLLocation manager on intents? What would be a big problem as there is no way to share information with the main app!
2
0
121
Apr ’25
Followed docs for "Local Package", how to add to 2nd project?
I have a couple apps in one git repository. I'd like to have a Swift package in that repo as well, shared by apps. In other words, I don't want a separate repo for the Swift package. I followed the instructions here: https://developer.apple.com/documentation/xcode/organizing-your-code-with-local-packages It seems to work. I can write code like this in my app: import MyLocalPackage func foo() { myLocalPackageFunc() } I notice that the package is not listed under Project > MyApp > Package Dependencies. I don't really care, as long as I can reuse code between apps. But when I try to add this package code to a 2nd app, I'm at a loss. I tried "Add Package Dependencies" and "Add Local", but that creates a different looking setup than the 1st app. The code is browsable in the project navigator. And when I try to build it says "Missing package product 'MyLocalPackage'. The documentation linked above, which I used for the 1st app, does a "New > Package". I don't want a new package. How can I connect the existing one?
0
0
119
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
167
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
91
May ’25
tvOS icon missing layers
I have an AppleTV app which I released in 2016. I've updated it and released a new version every year without much hassle. This year, with tvOS 17.2, the layered app icon isn't working right. This is a two-layer image made with PNGs. When it's selected, it looks right and the layers move correctly: But when it's not selected, the background layer disappears: Screenshots are from the simulator but it also happens on the device. It's inconsistent; sometimes it's the front layer that disappears. Occasionally both layers work, but I can't tell why. I've spent a day trying everything. Very frustrated. The icon previews correctly in Xcode and in Parallax Viewer. The image sizes are correct: 400 x 240 for Small, 800 x 480 for Small@2x, 1280 x 768 for Large. The back layer is a non-transparent PNG. I tried adding a Large@2x set. Didn't help. Originally I had a three-layer image with no middle layer PNG. I deleted the empty middle layer, but that didn't help. All the PNG files are from GnuIMP. Same color space, even. I was using the filenames tvicon-back-s.png and tvicon-back-s@2x.png. I tried taking out the @ sign in case that was confusing Xcode. (It never has before, but I am flailing here.) Anybody have any clues? If it's an Apple bug and there's nothing I can do, I'm going to just push the release button and hope it fixes itself someday.
8
0
1.7k
Oct ’25
Cannot Find UI to Add Core Data Database Indexes in Xcode 16.2
Hi everyone, I'm trying to add standard, non-unique database indexes to my Core Data entities for performance optimization (e.g., indexing Date or String attributes used in predicates and sort descriptors). I'm using Xcode 16.2 on macOS Sequoia 15.1. My problem is that I cannot find the expected UI element in the Core Data model editor (.xcdatamodeld) to configure these database indexes. What I Understand / Expect: I know the old "Indexed" checkbox on the Attribute Inspector is deprecated/gone. My understanding from recent documentation and tutorials is that database indexing (separate from Spotlight indexing) should be configured in the Entity Inspector (when the Entity itself is selected), within a section titled "Indexes" (usually located below "Constraints"). This "Indexes" section should allow adding individual or compound indexes that translate to SQL CREATE INDEX commands, distinct from uniqueness constraints. What I'm Experiencing: When I select an Entity in the model editor, the "Indexes" section is completely missing from the Data Model Inspector pane on the right. I see sections for Name, Class, Constraints, Spotlight, User Info, Versioning, etc., but no "Indexes" section appears between Constraints and Spotlight (or anywhere else). Troubleshooting Steps Taken: Verified Selection: I have confirmed I am selecting the Entity itself in the left-hand list, not an individual Attribute. Ruled out Spotlight Indexing: I understand the difference between database indexing (for internal query performance) and the "Index in Spotlight" checkbox/Core Spotlight framework (for system search). I specifically need the former. Basic Xcode Troubleshooting: I have tried restarting Xcode, cleaning the build folder (Shift+Command+K), and deleting the project's Derived Data. The "Indexes" section remains missing. Checked File Placement/Target Membership: Confirmed the .xcdatamodeld file is correctly included in the target. Its location in the project navigator doesn't seem relevant. Checked Model Versioning: Ensured the correct model version is set as "Current" in the File Inspector. Ruled out Other Features: Confirmed that Fetch Requests, Fetched Properties, and User Info keys are not the mechanisms for defining database indexes. Confirmed Not Project-Specific: I created a brand new, template-generated iOS App project with "Use Core Data" checked. In this new project, when selecting the default "Item" entity, the "Indexes" section is also missing from the Entity Inspector. This strongly suggests the issue is with my Xcode environment/version itself, not my specific project's setup. Considered Programmatic/Manual: I understand Core Data expects schema definitions (including indexes) declaratively in the model file. While manual XML editing of the contents file works (adding ... within the tag), this is not the desired or intended workflow via the standard tools. My Questions: What is the correct, current procedure for defining non-unique Core Data database indexes using the Xcode UI in Xcode 16.2? Has the location or method for configuring database indexes changed in this version of Xcode? If so, where is it now? Is the absence of the "Indexes" section in the Entity Inspector a known issue or intentional change for this Xcode version? If the standard UI method is unavailable, what is the officially recommended approach (other than manual XML editing)? I've reviewed the documentation ("Configuring Entities", "Configuring Attributes") and while screenshots show the inspectors, they don't definitively show the "Indexes" section within the Entity Inspector, sometimes focusing on attributes or potentially being cropped. Any clarification or guidance would be greatly appreciated!
0
0
96
Apr ’25
Module audioplayers not found
Hi! I am getting this error since an xcode update when trying to build my project. Module 'audioplayers' not found (in target 'Runner' from project 'Runner'). Thank you in advance for any help!
Replies
0
Boosts
0
Views
88
Activity
May ’25
One of my recent version metrics disappear in Xcode organizer metrics
Hello, For one of my recent release (2 versions ago), I used to be able to check its p50 of Hang Rate, but now it disappear and not showing up in XCode Organizer Metrics anymore. The p90 of Hang Rate of this version is still there. It's so unpredictable. Is there something we can do to get this data to populate? If not, may I understand usually why this issue will happen, is it something frond-end bug or is it because there is some thing abnormal going on in the back-end data?
Replies
1
Boosts
0
Views
185
Activity
Apr ’25
Xcode has high CPU usage when apparently doing nothing for hours
In 2020 I created FB7719215, which I updated several times (including just now) and in 2021 I created FB9204092, but the issue is still there: when I keep Xcode open (currently version 16.3), my battery drains much quicker, even when it's apparently idle. For instance, today I barely did anything in Xcode, but still it has been at a constant 90% CPU for the last hours, and I keep checking the battery percentage to check how much time I have left. Does anyone at Apple has an explanation, workaround and/or fix?
Replies
2
Boosts
0
Views
151
Activity
Jun ’25
C++ Binary Size Increase in Xcode 16 Compared to Xcode 15
I've recently upgraded my project from Xcode 15 to Xcode 16. Without changing any build settings or compiler flags, I noticed that the final executable size has increased significantly when building the same C++ code. Investigation: To investigate further, I compared the Link Map outputs from both versions of Xcode. One key difference I found: The symbol size for std::sort increased from 4,336 bytes (Xcode 15) to 6,084 bytes (Xcode 16) – a ~40% increase. This seems to be part of a broader trend where other standard library symbols are also taking up more space in the binary when built with Xcode 16. Questions: Has Apple Clang or libc++ in Xcode 16 changed the implementation of STL algorithms like std::sort? Are there changes in inlining, template instantiation, or debug info that could explain the increase? Is this expected behavior? If so, is there any guidance on minimizing the binary size regression?
Replies
0
Boosts
0
Views
151
Activity
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
Replies
0
Boosts
0
Views
141
Activity
May ’25
Google map APIs not working in my app with xcode 16.3
https://maps.googleapis.com/maps/api/place/autocomplete/json?input=station%20bab%20saadoun&key=GOOGLE_API_KEY&components=country:TN func googleAutocomplete(for query: String, completion: @escaping ([GooglePlaces]) -> Void) { let apiKey = GoogleMapAPIs.shared.apiKey let baseURL = "https://maps.googleapis.com/maps/api/place/autocomplete/json" guard let url = URL(string: "\(baseURL)?input=\(query)&key=\(apiKey)&components=country:TN") else { print("Invalid URL") completion([]) return } print(url) let task = URLSession.shared.dataTask(with: url) { data, response, error in if let error = error { print("Error fetching data: \(error.localizedDescription)") completion([]) return } guard let data = data else { print("No data received") completion([]) return } do { let decodedResponse = try JSONDecoder().decode(GooglePlacesResponse.self, from: data) completion(decodedResponse.predictions) } catch { print("Decoding error: \(error)") completion([]) } } task.resume() } struct GooglePlaces: Codable { let title: String? let region: StructuredFormatting? let placeID: String? enum CodingKeys: String, CodingKey { case title = "description" case region = "structured_formatting" case placeID = "place_id" } } struct StructuredFormatting: Codable { let main_text: String let secondary_text: String? } struct GooglePlacesResponse: Codable { let predictions: [GooglePlaces] } Error fetching data: The network connection was lost.
Replies
0
Boosts
0
Views
65
Activity
Apr ’25
Adding a profile to Xcode broke building, pod install fails
Running the command (pod install) fails after adding our profile, I'm new to Xcode and I'm unclear how adding the profile has affected the build. [Error] Type checking error: got Array for attribute: Attribute shellScript (type: simple, classes: [String], owner class: PBXShellScriptBuildPhase) [External References] https://github.com/CocoaPods/CocoaPods/issues/12794
Replies
1
Boosts
0
Views
68
Activity
Apr ’25
iOS Simulator Keychain Issues After Xcode Reinstall
Hello All I'm encountering an issue with Keychain access in iOS simulators after reinstalling Xcode. My app successfully accesses the Keychain on physical devices, but simulators consistently fail with errors. Details: App uses Keychain to store API keys Works perfectly on physical devices After Xcode reinstall, simulator Keychain access fails Error logs show "Keychain retrieve failed for key with status: -25300" I've properly configured Keychain Sharing entitlements My entitlements file includes: $(AppIdentifierPrefix)******* What I've tried: Resetting simulators Deleting simulator Keychain databases manually Adding Keychain Sharing capability Ensuring entitlements are correct My app worked fine with simulators before reinstalling Xcode, which suggests something changed in the development environment rather than my code. Has anyone encountered similar issues? Is there a recommended approach for handling Keychain access in simulators that's more resilient to Xcode environment changes? Thanks for your help!
Replies
0
Boosts
0
Views
158
Activity
Apr ’25
Trouble Distributing iOS + WatchOS App as a Bundle (Info.plist / Target Confusion)
Hi all, I’m running into an issue with my iOS + Apple Watch app project, and I could really use some advice. My WatchOS app requires an iOS companion for settings and configuration, so both apps need to be distributed together. Here’s how I structured my Xcode project: Main iOS App target WatchOS App target WatchOS Extension target However, I’m very confused about how these targets interact, and things are not working as expected. The problem: I can build and run the WatchOS app and its extension independently in the simulator by selecting their schemes. When I select the main iOS app scheme, I get an error about ITSWatchOnlyContainer in the Info.plist—even though there’s no Info tab for that target in Xcode. I’m able to distribute the WatchOS app by itself, and the extension as well. But I can’t distribute them bundled together as a single package, and I haven’t found any clear resources that explain how to fix this. This is my very first app, and it’s frustrating to get stuck just before the finish line! Project Structure / steps to reproduce Let’s say my project is called MyAppProject, with these targets: MyAppProject Main iOS App Embedded target: MyAppProject Watch App Bundle identifier: com.example.MyAppProject MyAppProject Watch App WKCompanionAppBundleIdentifier: com.example.MyAppProject “Requires iOS App”: YES MyAppProject Extension Bundle identifier: com.example.MyAppProject When running from the MyAppProject scheme, I get this error (even though I can’t see or edit the Info.plist in Xcode for this target): “Please try again later. This app has the ITSWatchOnlyContainer key set in its Info.plist, which identifies it as a shell app surrounding a Watch-only app; these are not installable.” As a result, I can’t distribute the app as a bundle. I’d appreciate help understanding: How should the Info.plist files be configured for each target? What do I do if the Info.plist path seems missing in the Xcode UI? Is there a “correct” way to structure an iOS + WatchOS app for bundled distribution?
Replies
0
Boosts
0
Views
125
Activity
Jun ’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
157
Activity
May ’25
Xcode Energy Impact Zero
When testing Energy Impact on Xcode, it shows zero, and other data is normal
Replies
0
Boosts
0
Views
51
Activity
Apr ’25
CLLocationManagerDelegate not working on Siri Intents
I need to elicit the location of the user in the Siri intents and so I call: override init(){ super.init() self.locationManager=CLLocationManager() self.locationManager.delegate = self; self.locationManager.startUpdatingLocation() self.locationManager.requestWhenInUseAuthorization() } Still neither public func locationManagerDidChangeAuthorization(_ manager: CLLocationManager) nor public func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) are ever called, notwithstanding the presence of the correct entry in the info.plist, the inclusion of the library and the indication of the delegation with: class IntentHandler: INExtension, INSendMessageIntentHandling, CLLocationManagerDelegate, UISceneDelegate are ever called. Is there any problem with CLLocation manager on intents? What would be a big problem as there is no way to share information with the main app!
Replies
2
Boosts
0
Views
121
Activity
Apr ’25
Followed docs for "Local Package", how to add to 2nd project?
I have a couple apps in one git repository. I'd like to have a Swift package in that repo as well, shared by apps. In other words, I don't want a separate repo for the Swift package. I followed the instructions here: https://developer.apple.com/documentation/xcode/organizing-your-code-with-local-packages It seems to work. I can write code like this in my app: import MyLocalPackage func foo() { myLocalPackageFunc() } I notice that the package is not listed under Project > MyApp > Package Dependencies. I don't really care, as long as I can reuse code between apps. But when I try to add this package code to a 2nd app, I'm at a loss. I tried "Add Package Dependencies" and "Add Local", but that creates a different looking setup than the 1st app. The code is browsable in the project navigator. And when I try to build it says "Missing package product 'MyLocalPackage'. The documentation linked above, which I used for the 1st app, does a "New > Package". I don't want a new package. How can I connect the existing one?
Replies
0
Boosts
0
Views
119
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
167
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
111
Activity
May ’25
Xcode lldb po doesnt print object description only memory
for instance: po [NSBundle mainBundle] 0x0000600002130000 p [NSBundle mainBundle] (NSBundle *) 0x0000600002130000 p [[NSBundle mainBundle] bundlePath] error: Execution was interrupted, reason: EXC_BAD_ACCESS (code=1, address=0x0). The process has been returned to the state before expression evaluation. I am in debug mode
Replies
0
Boosts
0
Views
105
Activity
Apr ’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
91
Activity
May ’25
tvOS icon missing layers
I have an AppleTV app which I released in 2016. I've updated it and released a new version every year without much hassle. This year, with tvOS 17.2, the layered app icon isn't working right. This is a two-layer image made with PNGs. When it's selected, it looks right and the layers move correctly: But when it's not selected, the background layer disappears: Screenshots are from the simulator but it also happens on the device. It's inconsistent; sometimes it's the front layer that disappears. Occasionally both layers work, but I can't tell why. I've spent a day trying everything. Very frustrated. The icon previews correctly in Xcode and in Parallax Viewer. The image sizes are correct: 400 x 240 for Small, 800 x 480 for Small@2x, 1280 x 768 for Large. The back layer is a non-transparent PNG. I tried adding a Large@2x set. Didn't help. Originally I had a three-layer image with no middle layer PNG. I deleted the empty middle layer, but that didn't help. All the PNG files are from GnuIMP. Same color space, even. I was using the filenames tvicon-back-s.png and tvicon-back-s@2x.png. I tried taking out the @ sign in case that was confusing Xcode. (It never has before, but I am flailing here.) Anybody have any clues? If it's an Apple bug and there's nothing I can do, I'm going to just push the release button and hope it fixes itself someday.
Replies
8
Boosts
0
Views
1.7k
Activity
Oct ’25
Cannot Find UI to Add Core Data Database Indexes in Xcode 16.2
Hi everyone, I'm trying to add standard, non-unique database indexes to my Core Data entities for performance optimization (e.g., indexing Date or String attributes used in predicates and sort descriptors). I'm using Xcode 16.2 on macOS Sequoia 15.1. My problem is that I cannot find the expected UI element in the Core Data model editor (.xcdatamodeld) to configure these database indexes. What I Understand / Expect: I know the old "Indexed" checkbox on the Attribute Inspector is deprecated/gone. My understanding from recent documentation and tutorials is that database indexing (separate from Spotlight indexing) should be configured in the Entity Inspector (when the Entity itself is selected), within a section titled "Indexes" (usually located below "Constraints"). This "Indexes" section should allow adding individual or compound indexes that translate to SQL CREATE INDEX commands, distinct from uniqueness constraints. What I'm Experiencing: When I select an Entity in the model editor, the "Indexes" section is completely missing from the Data Model Inspector pane on the right. I see sections for Name, Class, Constraints, Spotlight, User Info, Versioning, etc., but no "Indexes" section appears between Constraints and Spotlight (or anywhere else). Troubleshooting Steps Taken: Verified Selection: I have confirmed I am selecting the Entity itself in the left-hand list, not an individual Attribute. Ruled out Spotlight Indexing: I understand the difference between database indexing (for internal query performance) and the "Index in Spotlight" checkbox/Core Spotlight framework (for system search). I specifically need the former. Basic Xcode Troubleshooting: I have tried restarting Xcode, cleaning the build folder (Shift+Command+K), and deleting the project's Derived Data. The "Indexes" section remains missing. Checked File Placement/Target Membership: Confirmed the .xcdatamodeld file is correctly included in the target. Its location in the project navigator doesn't seem relevant. Checked Model Versioning: Ensured the correct model version is set as "Current" in the File Inspector. Ruled out Other Features: Confirmed that Fetch Requests, Fetched Properties, and User Info keys are not the mechanisms for defining database indexes. Confirmed Not Project-Specific: I created a brand new, template-generated iOS App project with "Use Core Data" checked. In this new project, when selecting the default "Item" entity, the "Indexes" section is also missing from the Entity Inspector. This strongly suggests the issue is with my Xcode environment/version itself, not my specific project's setup. Considered Programmatic/Manual: I understand Core Data expects schema definitions (including indexes) declaratively in the model file. While manual XML editing of the contents file works (adding ... within the tag), this is not the desired or intended workflow via the standard tools. My Questions: What is the correct, current procedure for defining non-unique Core Data database indexes using the Xcode UI in Xcode 16.2? Has the location or method for configuring database indexes changed in this version of Xcode? If so, where is it now? Is the absence of the "Indexes" section in the Entity Inspector a known issue or intentional change for this Xcode version? If the standard UI method is unavailable, what is the officially recommended approach (other than manual XML editing)? I've reviewed the documentation ("Configuring Entities", "Configuring Attributes") and while screenshots show the inspectors, they don't definitively show the "Indexes" section within the Entity Inspector, sometimes focusing on attributes or potentially being cropped. Any clarification or guidance would be greatly appreciated!
Replies
0
Boosts
0
Views
96
Activity
Apr ’25
My SwiftUI project failed to run when upgrading from Xcode 14.0 to Xcode 16.3
Build succeed,but app startup failed.
Replies
5
Boosts
0
Views
84
Activity
Apr ’25