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

Xcode Documentation

Posts under Xcode subtopic

Post

Replies

Boosts

Views

Activity

How to exclude header files from 3rd party pods from getting the Apple Clang warning policies?
I have the 'warnings as errors' policy set to Yes for Apple Clang and Swift compiler. As far as I know, there is no way to make exceptions to the warning policies from Swift compiler (correct me if I am wrong), what about Clang warning policies, specifically when it comes to header files from 3rd party pods? They don't show up on the Compile Sources so I can't apply flags such as -Wno-error=deprecated to them. Adding #pragma GCC... to them won't help as a fresh pod install will wipe the #pragma statements out. Is there a way to exclude the header files from pods from getting the warning policies from Clang so I won't see errors from them when compiling Clang modules that's a part of the build process?
0
0
320
Feb ’25
Does Xcode still support capturing GPU workload for OpenGLES game app on iOS?
As far as I know, there was a time that you can capture GPU workload for opengles game app on iOS using Xcode. However, currently I'm using Xcode version 15.2 and iOS18,it seems the "capture GPU workload" button is always disabled when I'm trying to debug my game app which is using opengles api for graphics rendering no matter switchinng "GPU Frame Capture" to "OpenGL ES" or "Metal" or "Automatically" in the scheme. And I'm not able to capture GPU workload for my game on iOS. The only way to make the "capture GPU workload" button enabled is creating a new project using metal api for graphics rendering. But I don't want to change the graphics API, because it will cause a lot. Does Xcode still support capturing GPU workload for OpenGLES game app on iOS? If not, is there an alternative way?
0
0
99
Jun ’25
SceneKit Performance Issues with Large Node Counts on iPad (10th Gen, iPadOS 18.3)
We’re developing an iPad application that visualizes 2D and 3D building floor plans, including a mesh network of nodes that control lighting and climate. The node count ranges from 1,000 to 15,000. We’re using SceneKit to dynamically render the floor plan and node mesh on an iPad 10th generation running iPadOS 18.3. While the core visualization works, we are experiencing significant performance degradation as the node count increases. Specifically: At 750–1,000 nodes, UI responsiveness noticeably declines. At 2,000 nodes, navigating the floor plan becomes nearly unusable. We attempted to optimize performance with a Geometric Pool algorithm, but the impact was minimal. Strangely, the same iPad handles 30,000+ 3D objects effortlessly when using Unity or Unreal Engine, raising the question of whether SceneKit may not be optimized for this scale. Our questions: Is SceneKit suitable for visualizing such large node counts, or are we hitting an inherent limitation of the framework? Are there best practices or optimization techniques for SceneKit that we might be missing? Should we consider a hybrid approach or fully transition to a different 3D engine for this use case? We’ve attached a code sample below demonstrating the issue. Any insights, suggestions, or experiences would be greatly appreciated! ContentView.swift
0
1
391
Feb ’25
Refactor->Rename "Refactoring Engine Failure"
For Xcode 15 and Xcode 16, whenever I try to use the Refactor->Rename command I get a spinning busy cursor for a short while then I get an alert that says: Rename Failed Refactoring engine failure. This happens on several projects and I've tried removing the derived data folder, but am at a loss to find additional troubleshooting steps. Are there other files I might remove or reset to get my "Refactoring Engine" back into shape?
0
0
157
Jun ’25
WKWebView
I am using Xcode 15.2. I am loading a URL in a WKWebView, but a hand cursor appears above the web view. Scrolling up and down does not work. I tried adjusting the scroll bounds and isUserInteractionEnabled, but the hand cursor is still visible. How can I fix this?
0
0
134
Feb ’25
iOS app build error with iOS 18 SDK and Xcode 16
Hi, I am able to build my iOS app successfully, developed in objective-C with iOS 17.5 SDK and Xcode 15. Due to requirement of Appstore we are trying to build with iOS 18 SDK and Xcode 16. When building getting error in LAEnvironmentState.h file: a) "Property requires field to be named" b) "Expected member name or ';' after declaration specifiers" Same app when opening with Xcode 15 gets build without any issue. Any help/suggestion would be appreciated.
0
0
158
Apr ’25
Issue with Module Import and Archiving a Mixed Swift/C Library Using Swift Package Manager
Hello everyone, I’m encountering an issue when trying to build and archive my library BleeckerCodesLib using Swift Package Manager. My project is structured with two targets: CBleeckerLib: A C target that contains my image processing code (C source files and public headers). BleeckerCodesLib: A Swift target that depends on CBleeckerLib and performs an import CBleeckerLib. Below is the relevant portion of my Package.swift: // swift-tools-version:5.7 import PackageDescription let package = Package( name: "BleeckerCodesLib", platforms: [.iOS(.v16)], products: [ .library(name: "BleeckerCodesLib", targets: ["BleeckerCodesLib"]) ], targets: [ .target( name: "CBleeckerLib", publicHeadersPath: "include" ), .target( name: "BleeckerCodesLib", dependencies: ["CBleeckerLib"] ) ] ) Directory Structure My project directory looks like this: BleeckerCodesLib/ ├── BleeckerCodesLib.xcodeproj/ │ └── xcuserdata/ │ └── robertopitarch.xcuserdatad/ │ └── xcschemes/ │ └── xcschememanagement.plist ├── BleeckerCodesLib.h ├── Package.swift └── Sources/ ├── CBleeckerLib/ │ ├── bleecker-lib.c │ └── include/ │ ├── bleecker-lib.h │ └── CBleeckerLib.h └── BleeckerCodesLib/ ├── UIImage+Extensions.swift ├── ImageProcessingUtility.swift ├── APIManager.swift ├── BleeckerCodesLib.swift ├── CameraView.swift ├── RealTimeCameraView.swift └── BleeckerCameraWrapper.swift Code Example In my Swift code (for example, in BleeckerCodesLib.swift), I import the C module as follows: import SwiftUI import UIKit import CBleeckerLib // Import the C module public struct BleeckerCodes { public struct DetectedCode { public let code: String public let corners: [CGPoint] public init(code: String, corners: [CGPoint]) { self.code = code self.corners = corners } } // Initialization function public static func initializeLibrary() -> String { bleecker_init() // Call the C module function return "BleeckerCodesLibrary initialized!" } // ... other functions } The Problem When I try to compile or archive the project using commands such as: xcodebuild archive -project BleeckerCodesLib.xcodeproj -scheme BleeckerCodesLib -destination "generic/platform=iOS" -archivePath "archives/BleeckerCodesLib" I receive the error: "no such module 'CBleeckerLib'" Any assistance or step-by-step guidance on resolving this integration issue would be greatly appreciated. Thank you in advance!
0
0
258
Feb ’25
Info.plist unable to install - With Firebase Framework & Package Manager
I'm having trouble with this Info.plist for Firebase Frameworks/FirebaseFirestoreInternal.framework/Info.plist unable to install It looks like Firebase removed Info.plist files in 10.20.0. and its causing this error below. Most of the online support says to update Cocafile PODs to not embed however I can't find any solutions for Package Manager. StackOverflow: https://stackoverflow.com/questions/64977628/all-framework-error-when-launch-framework-info-plist-no-such-file-or-directory/64979956#64979956 https://stackoverflow.com/questions/77888962/issue-trying-to-run-app-on-ios-simulator-missing-a-plist-from-firebase Error: App installation failed: Unable to Install “Replayology” Please try again later. Failed to load Info.plist from bundle at path /Users/chronicler/Library/Developer/CoreSimulator/Devices/A087805B-77FD-446A-96C5-9DCE2F813D60/data/Library/Caches/com.apple.mobile.installd.staging/temp.YGB5zA/extracted/Replayology.app/Frameworks/FirebaseFirestoreInternal.framework; Extra info about "/Users/chronicler/Library/Developer/CoreSimulator/Devices/A087805B-77FD-446A-96C5-9DCE2F813D60/data/Library/Caches/com.apple.mobile.installd.staging/temp.YGB5zA/extracted/Replayology.app/Frameworks/FirebaseFirestoreInternal.framework/Info.plist": Couldn't stat /Users/chronicler/Library/Developer/CoreSimulator/Devices/A087805B-77FD-446A-96C5-9DCE2F813D60/data/Library/Caches/com.apple.mobile.installd.staging/temp.YGB5zA/extracted/Replayology.app/Frameworks/FirebaseFirestoreInternal.framework/Info.plist: No such file or directory Details App installation failed: Unable to Install “Replayology” Domain: IXUserPresentableErrorDomain Code: 1 Failure Reason: Please try again later. Recovery Suggestion: Failed to load Info.plist from bundle at path /Users/chronicler/Library/Developer/CoreSimulator/Devices/A087805B-77FD-446A-96C5-9DCE2F813D60/data/Library/Caches/com.apple.mobile.installd.staging/temp.YGB5zA/extracted/Replayology.app/Frameworks/FirebaseFirestoreInternal.framework; Extra info about "/Users/chronicler/Library/Developer/CoreSimulator/Devices/A087805B-77FD-446A-96C5-9DCE2F813D60/data/Library/Caches/com.apple.mobile.installd.staging/temp.YGB5zA/extracted/Replayology.app/Frameworks/FirebaseFirestoreInternal.framework/Info.plist": Couldn't stat /Users/chronicler/Library/Developer/CoreSimulator/Devices/A087805B-77FD-446A-96C5-9DCE2F813D60/data/Library/Caches/com.apple.mobile.installd.staging/temp.YGB5zA/extracted/Replayology.app/Frameworks/FirebaseFirestoreInternal.framework/Info.plist: No such file or directory User Info: { DVTErrorCreationDateKey = "2025-05-29 23:54:11 +0000"; IDERunOperationFailingWorker = IDELaunchiPhoneSimulatorLauncher; SimCallingSelector = "installApplication:withOptions:error:"; } Unable to Install “Replayology” Domain: IXUserPresentableErrorDomain Code: 1 Failure Reason: Please try again later. Recovery Suggestion: Failed to load Info.plist from bundle at path /Users/chronicler/Library/Developer/CoreSimulator/Devices/A087805B-77FD-446A-96C5-9DCE2F813D60/data/Library/Caches/com.apple.mobile.installd.staging/temp.YGB5zA/extracted/Replayology.app/Frameworks/FirebaseFirestoreInternal.framework; Extra info about "/Users/chronicler/Library/Developer/CoreSimulator/Devices/A087805B-77FD-446A-96C5-9DCE2F813D60/data/Library/Caches/com.apple.mobile.installd.staging/temp.YGB5zA/extracted/Replayology.app/Frameworks/FirebaseFirestoreInternal.framework/Info.plist": Couldn't stat /Users/chronicler/Library/Developer/CoreSimulator/Devices/A087805B-77FD-446A-96C5-9DCE2F813D60/data/Library/Caches/com.apple.mobile.installd.staging/temp.YGB5zA/extracted/Replayology.app/Frameworks/FirebaseFirestoreInternal.framework/Info.plist: No such file or directory Failed to load Info.plist from bundle at path /Users/chronicler/Library/Developer/CoreSimulator/Devices/A087805B-77FD-446A-96C5-9DCE2F813D60/data/Library/Caches/com.apple.mobile.installd.staging/temp.YGB5zA/extracted/Replayology.app/Frameworks/FirebaseFirestoreInternal.framework; Extra info about "/Users/chronicler/Library/Developer/CoreSimulator/Devices/A087805B-77FD-446A-96C5-9DCE2F813D60/data/Library/Caches/com.apple.mobile.installd.staging/temp.YGB5zA/extracted/Replayology.app/Frameworks/FirebaseFirestoreInternal.framework/Info.plist": Couldn't stat /Users/chronicler/Library/Developer/CoreSimulator/Devices/A087805B-77FD-446A-96C5-9DCE2F813D60/data/Library/Caches/com.apple.mobile.installd.staging/temp.YGB5zA/extracted/Replayology.app/Frameworks/FirebaseFirestoreInternal.framework/Info.plist: No such file or directory Domain: MIInstallerErrorDomain Code: 35 User Info: { FunctionName = "-[MIBundle _validateWithError:]"; LegacyErrorString = PackageInspectionFailed; SourceFileLine = 64; } System Information macOS Version 15.2 (Build 24C101) Xcode 16.3 (23785) (Build 16E140) Timestamp: 2025-05-29T18:54:11-05:00
0
0
110
May ’25
Xcode build system has crashed after adding opencv to macApp
Hi, I am currently working on a MacOS App, where I need the undistortion function of opencv. But after I tried to add opencv to my project, I get following error: unexpected service error: The Xcode build system has crashed. Build again to continue. Cleaning the build folder also doesn't help. Does anyone have an idea what could be the issue? Ryan
0
0
96
May ’25
Is it possible to set the Derived Data location differently for different projects?
Within Xcode's settings location section is a drop down menu to switch between setting the derived data location to be default, relative or custom. However its a global setting. I work on more than one project simultaneously, and for one of them I want the location set to relative, but default for all the others. Is there any way of achieving that?
0
0
87
Apr ’25
devicectl: clarify username requirement for "certain" domains
Hi there, When using devicectl to manage files: It's unclear for which domains the username should be provided It's unclear how to determine the username Listing files USAGE: devicectl device info files [<options>] --device <uuid|ecid|serial_number|udid|name|dns_name> --domain-type <domain-type> FILE OPTIONS: --username <username> The username of the user we should target. Only relevant for certain domains. --domain-type <domain-type> The file service domain. Valid values are: temporary, appDataContainer, appGroupDataContainer, systemCrashLogs. You must specify a valid domain and identifier pair. Certain domains must be accompanied by an identifier that provides additional context. For example, if the domain is an app data container, the identifier is the bundle ID of the app. For temporary directories, the identifier is a unique client-provided string which is used to get your own space, separate from those of other clients. --domain-identifier <domain-identifier> A unique string used to provide additional context to the domain. --username The username of the user we should target. Only relevant for certain domains. In the domains, the username requirements are not mentioned. Copying files USAGE: devicectl device copy to --device <uuid|ecid|serial_number|udid|name|dns_name> --source <source> [--destination <destination>] [--user <user>] --domain-type <domain-type> [--domain-identifier <domain-identifier>] [--remove-existing-content <remove-existing-content>] [--verbose] [--quiet] [--timeout <seconds>] [--json-output <path>] [--log-output <path>] DEVICE OPTIONS: -d, --device <uuid|ecid|serial_number|udid|name|dns_name> The identifier, ECID, serial number, UDID, user-provided name, or DNS name of the device. FILE OPTIONS: --source <source> The item which should be copied. --destination <destination> The location to which the item should be copied. -u, --user <user> The name of the user we should target. Only relevant for certain domains. --domain-type <domain-type> The file service domain. Valid values are: temporary, appDataContainer, appGroupDataContainer, systemCrashLogs. You must specify a valid domain and identifier pair. Certain domains must be accompanied by an identifier that provides additional context. For example, if the domain is an app data container, the identifier is the bundle ID of the app. For temporary directories, the identifier is a unique client-provided string which is used to get your own space, separate from those of other clients. --domain-identifier <domain-identifier> A unique string used to provide additional context to the -u, --user The name of the user we should target. Only relevant for certain domains. The "certain domains" are not specified. user vs username The list files command takes: --username <username> The username of the user we should target. Only relevant for certain domains The copy command takes: -u, --user <user> The name of the user we should target. Only relevant for certain domains. Is there a difference between username and user? How do we figure out the user or username? From https://developer.apple.com/forums/thread/749649 I learned that about the "mobile" value, but why, and how? It would help if these arguments could be explained in more detail.
0
0
92
Apr ’25
Which extension use
Hi, I want to block incoming calls using my backend server, like the unwantend sms using message filter extension. I saw that Call Directory Extension can block numbers, but you need update the list, is not in real time. I was reading the Live Caller ID Look up extension documentation, and it seems that with this extension is possible send the number to backend and retrieve a value to know if the call should be block or not. Am I right? Or is not possible this feature with this extension? Thanks!
0
1
292
Mar ’25
Scope of GPT Training in Xcode 26
Hello, I watched WWDC 25 and saw that GPT will be integrated into Xcode. This raised a question for me. As far as I know, GPT models learn from user interactions. However, the GPT terms of use mention that business accounts are excluded from training. Does this also apply to the GPT integrated into Xcode 26? I couldn’t find any information about this in the Xcode 26 beta release notes or the Apple Developer Program License Agreement. If anyone knows where this is documented, I’d really appreciate it if you could share it. Also, if any Apple staff is reading this, I’d be grateful if you could clarify whether the same non-training policy applies within Xcode. Thank you!
0
0
60
Jun ’25
[Help] Xcode device debugging of iOS 18.4 / 18.5 is very slow, and it is suspected to be stuck in the stage of loading dynamic libraries in debugserver
Environment Xcode version: Xcode 16.0 iOS device system version: iOS 18.4 / 18.5 Problem description When debugging iOS 18.4/18.5 on a real device, the App starts very slowly after clicking Run, usually taking 2-3 minutes, which is much slower than iOS 18.3. It manifests as Xcode staying in the Launch stage for a long time, and the application stuck in the opening screen interface. Start the APP first, then attach the process, and this problem will not exist Location process Use lldb to enable logs log enable gdb-remote packets After observing the logs, it was found that: The jam mainly occurs when processing two data packets: jGetLoadedDynamicLibrariesInfos and qProcessInfo These two commands involve dynamic library loading information and process meta information, and the response time is much higher than the normal level, far exceeding other gdb-remote instructions Use Instruments / Profiler to analyze: The CPU peak of the real machine debugserver is concentrated in the dynamic library information loading process of _dyld_process_info_create Is there a way to deploy a modified debugserver on the real machine to further locate the problem How to enable and view the debugsever log to further locate the problem
0
1
144
May ’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
132
May ’25
Notification Content Extension on Simulator
Hello All, I see an issue while running the Notification content Extension on simulator without checking the "Copy only when installing in app target -> Build Phases -> Embed App Extensions" If I check "Copy only when installing in app target" then only it is working. Can someone please confirm if Notification Content Extension is working on simulator. If yes how can we do that. Please share the details
0
0
97
May ’25