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

Xcode Documentation

Posts under Xcode subtopic

Post

Replies

Boosts

Views

Activity

Proper includes into Package.swift
Ok, I have a bit of special problem. I want to use the "Swift Upcoming Feature Flags" in my packages. The problem is that we have quite a lot of Packages in a quite deep tree: at the root of the Package directory there are four dirs: AppA/ AppB/ Shared/ Temporary/ also the packages ExternalLibs and BuildPlugins. Temporary contains Packages that need rework and the other three subdirs each contain the subdirs: Features/ Utilities/ Services/ All in all there are over 100 packages. Now I would like to use definitions like https://github.com/treastrain/swift-upcomingfeatureflags-cheatsheet to use in the Package.swift files. And as you might guess, I do not want to copy those into each and every Package.swift file. It seems like SPM is only finding includes by itself if they are in the exact same directory as the Package.swift file 🙄 That's not at all helpful… Has anyone found a way to do useful includes into Package.swift files? Any help appreciated. Thank You Roddi
0
0
122
Jul ’25
Xcode 16.2: build fails with errors from another project
When I thought Xcode could not get any worse, here's the most absurd thing I have ever seen developing software in almost 20 years of work. When building a project, which I haven't touched lately, and last time it was building just fine, it raised errors on a class that doesn't even belong in any way to such project, it only exists in another one. To clarify, we're talking of a project written in C++ which runs only on mac, which is failing due to linker errors, where the linker can not find symbols of a class living in a different project and that is not referenced in any way inside this project. I mean, really? how does Apple manage to make Xcode more and more unstable by the minute? Starting from Xcode 15.1 I was already experiencing much longer building times, due to the fact that it doesn't manage the cache properly and is rebuilding lots of stuff every time..
0
0
43
Apr ’25
Random "<unknown>:0: warning: default will never be executed" Xcode warning
Hello! I'm experiencing a persistent SwiftCompile warning that I haven't been able to resolve for several months: <unknown>:0: warning: default will never be executed Observations: Appears randomly across different files during the build. No source location or line highlighting is provided. Persists across clean builds and project reopenings. Occurs in both Xcode Cloud and local builds. What I’ve tried: Ensuring all switch statements on enums explicitly handle every case. Removing default cases from fully covered enum switches. Refactoring optional enum handling (e.g., using if let instead of switch). None of these resolved the issue. Any guidance would be greatly appreciated! Project details: Xcode: 16.2 Swift: 6 iOS Target: 17.0+ UI: SwiftUI-only (no UIKit) Dependencies: SwiftPM
0
1
304
Mar ’25
Rare EXC_BAD_ACCESS (SIGBUS) KERN_PROTECTION_FAILURE crash when running function?
The following function could run several hundred times with no problem but will occasionally cause a EXC_BAD_ACCESS (SIGBUS). The last time it was a KERN_PROTECTION_FAILURE perhaps meaning it is trying to write to a read only memory but previously it was KERN_INVALID_ADDRESS. I have tried debugging tools to no avail. Can anyone see any reason why the following function could be causing this. Just in case the function is a red herring the only other thing that was running is a AVQueuePlayer that contains 11 tracks, but the crash happens mid song making it unlikely. The function includes running other functions so below is all related functions that happen as a result of a swipe gesture. func completeLeft() { let add1 = Int(tiles[Square - (squares2move + 2)].name ?? "0") ?? 0 let add2 = Int(currentNode.name ?? "0") ?? 0 let add = add1 + add2 if add.isMultiple(of: 9) == false { if squares2move == 0 { self.moveinprogress = 0 return } moveLeft1() } if add.isMultiple(of: 9) { squares2move += 1 moveLeft2() } func moveLeft1() { var duration = TimeInterval(0.1) duration = Double(squares2move) * duration self.soundEffect = "swipe" self.playEffects(Volume: self.effectsVolume) let move = SKAction.move(to: positions[Square - (squares2move + 1)], duration: duration) currentNode.run(move, completion: { self.tiles[Square - (squares2move + 1)].name = self.currentNode.name self.tiles[Square - 1].name = "" self.currentNode.position = self.positions[Square - (squares2move + 1)] self.newNumber() }) } func moveLeft2() { var duration = TimeInterval(0.1) duration = Double(squares2move) * duration self.soundEffect = "swipe" self.playEffects(Volume: self.effectsVolume) let move = SKAction.move(to: positions[Square - (squares2move + 1)], duration: duration) currentNode.zPosition = currentNode.zPosition - 1 currentNode.run(move, completion: { self.currentNode.position = self.positions[Square - (squares2move + 1)] self.tiles[Square - 1].name = "" self.currentNode.name = "\(add)" self.tiles[Square - (squares2move + 1)].name = "\(add)" if add > self.score { self.score = add } if add > self.currentgoal { self.levelComplete()} else { self.playEffects2(soundEffect: "Tink", Volume: self.effectsVolume, Type: "caf")} if self.currentNode.childNode(withName: "Label") == nil { self.currentNode.texture = SKTexture(imageNamed: "0.png") let Label = SKLabelNode(fontNamed: "CHALKBOARDSE-BOLD") Label.text = "\(add)" Label.name = "Label" let numberofdigits = Label.text!.count if numberofdigits == 1 { Label.fontSize = 45 * self.hR} if numberofdigits == 2 { Label.fontSize = 40 * self.hR} if numberofdigits == 3 { Label.fontSize = 32 * self.hR} if numberofdigits == 4 { Label.fontSize = 25 * self.hR} Label.horizontalAlignmentMode = .center Label.verticalAlignmentMode = .center Label.fontColor = .systemBlue Label.zPosition = 2 self.currentNode.addChild(Label) self.currentNode.zPosition = self.currentNode.zPosition + 1 var nodes = self.nodes(at: self.positions[Square - (squares2move + 1)]) nodes = nodes.filter { $0.name != "Tile" } nodes = nodes.filter { $0 != self.currentNode } nodes = nodes.filter { $0 != self.currentNode.childNode(withName: "Label") } for v in nodes { v.removeFromParent()} } else { let Lbl = self.currentNode.childNode(withName: "Label") as? SKLabelNode Lbl!.text = "\(add)" let numberofdigits = Lbl!.text!.count if numberofdigits == 1 { Lbl!.fontSize = 45 * self.hR} if numberofdigits == 2 { Lbl!.fontSize = 40 * self.hR} if numberofdigits == 3 { Lbl!.fontSize = 32 * self.hR} if numberofdigits == 4 { Lbl!.fontSize = 25 * self.hR} self.currentNode.zPosition = self.currentNode.zPosition + 1 var nodes = self.nodes(at: self.positions[Square - (squares2move + 1)]) nodes = nodes.filter { $0.name != "Tile" } nodes = nodes.filter { $0 != self.currentNode } nodes = nodes.filter { $0 != self.currentNode.childNode(withName: "Label") } for v in nodes { v.removeFromParent()} } self.moveinprogress = 0 }) } } func moveLeft() { var duration = TimeInterval(0.1) duration = Double(squares2move) * duration self.soundEffect = "swipe" self.playEffects(Volume: self.effectsVolume) let move = SKAction.move(to: positions[Square - (squares2move + 1)], duration: duration) currentNode.run(move, completion: { self.tiles[Square - (squares2move + 1)].name = self.currentNode.name self.tiles[Square - 1].name = "" self.currentNode.position = self.positions[Square - (squares2move + 1)] self.newNumber() }) }
0
0
215
Mar ’25
App Icon Not Showing iSimulator or TestFlight (Assets.xcassets Fully Configured)
Hi everyone, I’ve been troubleshooting this for days — my app icon doesn’t show in the Simulator or TestFlight builds, despite what seems like a perfect setup. ✔️ What I’ve Already Verified: AppIcon.appiconset includes all required PNGs (20x20 up to 1024x1024) Contents.json is valid and complete (see attached) Asset catalog folder is named AppIcon Set correctly in Project > General > App Icon Source = "AppIcon" Cleaned build folder, restarted Xcode, and tried on multiple simulators Even used a fresh Xcode demo project — same result 🧪 Setup Details: Xcode version: [replace with your version, e.g. 15.3] iOS Deployment Target: [e.g. iOS 16.0] App Type: SwiftUI 🔍 Screenshots Attached: Assets.xcassets structure Project > General tab (App Icon section) Info.plist Contents.json Blank icon on simulator home screen ❓ Questions: Could this be a metadata or cache corruption? Is there a known issue with icons not rendering in recent Xcode builds? Any workaround to force refresh the icon system? Any help is deeply appreciated — thank you in advance!
0
0
87
Jun ’25
Is a modulemap file required when importing a static library objective-c framework? If not when is a modulemap required?
I am a bit confused. My understanding previously was that a modulemap was required in order to have a bridging header be generated. Now it has come to my attention that a modulemap is both a build input and something you can put in the Modules folder of the built product if you so choose. I have tried reading the clang modulemap documentation, but am really struggling to connect most of what it says to the problem at hand. In a project I am working on, the generation of the modulemap file is quite problematic. The framework imports C++ libraries and itself writes Objective-C++ wrappers for them. Currently, the modulemap file is both set as the Module Map File in "Build Settings" and presumably used when the Swift project later imports it. In this project the modulemap is a list of the objective-c++ header files then export * I am trying to understand what I would lose if I do one or both of two things: What happens if I dont set this module map file in the build settings for the objective-c++ framework? What happens if I dont have a modulemap involved whatsoever in this objective-c++ framework and then it is imported into Swift? And does any of this change if its compiled as a static vs dynamic library? What if I embed it vs not embed it? Because the build in the real project is so complicated its hard to isolate what is going on. So I built a smaller sample app. There is CFramework which has an objective-c++ class. There is SwiftProject which imports that framework and is purely Swift. It imports the module and uses it. I did not write a modulemap file, and the Swift project builds just fine. In the timeline it: Prepares packages Computes target dependency graph Builds static cache for iPhoneSimulator18.2sdk As near as I can tell even though the objective-c++ framework is not built with a modulemap in its build settings and there is not a modulemap included in the framework everything works. So then the modulemap file is useless? Perhaps it speeds things up but what step would theoretically be skippable?
0
0
90
Jun ’25
Xcode 16.2 archive fails to compile XIB
Xcode 16.2 archive fails to compile XIB Xcode Archive command fails most of the time while compiling an XIB which was created in older Xcode. XIB was updated in Xcode 16.2 version also which did not fix this issue. Archive from Xcode app works but Xcode build command fails and no reason shown by the command. ** ARCHIVE FAILED ** The following build commands failed: CompileXIB /Users…/Resources/Nibs/<XIB_NAME>.xib
0
0
135
Apr ’25
XCframeworks with arm64e slices on Xcode 26
I have a XCFramework which contains slices for both arm64 and arm64e binaries, but some of my apps are only built for arm64. Prior to Xcode 26, this was not an issue, despite the binary in Frameworks folder still containing the arm64e slice. But now with Xcode 26 I get several errors when uploading to the Appstore: Validation failed Inconsistent arm64e support. The main bundle 'HackerNews.app' does not support arm64e. Verify that the all of the targets including [HackerNews.app/Frameworks/Sentry.framework] have consistent support for arm64e. (ID: 542eb011-2689-47fe-a5d5-d043342820a8) Validation failed Invalid architecture. The iOS 17.4 SDK or later is required for an arm64e slice. The bundle executable in “HackerNews.app/Frameworks/Sentry.framework” contains an arm64e slice with the iOS 17.2 SDK. (ID: 60f2cb75-e4be-4583-bebd-36d119275419) Is this intended behavior with Xcode 26?
0
2
169
Jun ’25
iOS 3.1.3 SDK
Hello!!! I want to do a little project for the original iPhone running iOS 3.1.3 and I don’t find the SDK for iOS 3.1.3. I’ve tried downloading Xcode 3.1.3 from the Apple Developer site, but during the installation process, the iPhone SDK doesn’t appear to be included. I also tested Xcode 3.2.2, but it doesn’t seem to have the iPhone OS 3.1.3 SDK either. Does anyone still have the iPhone OS 3.1.3 SDK available or know where I can find it? Thanks!! Edgar
0
0
88
Jun ’25
Ionic In App Purchase Products not showing on Simulators iOS 18.5 but showing on real devices.
Hi guys, i have an issue with my app, i am able to view in app purchase products from my deployed hybrid app (Ionic 8 with Capacitor 7) IOS platform. My inapp products are displaying on real device os 18.5 but on simulators there are no products. Is there a bug or something. Simulators tested 16 Pro max iPad m4, and iPad 5th gen all 18.5 other versions below the products does show and on real device. Your assistance will be much appreciated.
0
0
59
Jun ’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
61
Jun ’25
Is SFSymbol Customization officially valid as a method for using SVG in embedded widgets (lock-screen & watchOS)?
Is SFSymbol Customization officially valid as a method for using SVG in embedded widgets (lock-screen & watchOS)? I use this in UnitedPizzaHelper but wonder whether this is the prime cause why all widgets of this app gets missing on iOS devices? This issue only happened on at least 2 device in the recent 12 months (they are all on iOS 18, and one of them is running iOS 18.5... Rebooting device won't work.), and we currently have no clue how to troubleshoot this. Update: The guy running iOS 18.5 told me that the widgets are now discoverable after waiting for minutes. Seems that this is a random issue.
0
0
70
Jun ’25
Xcode 16 is running on an iPhone 7 with iOS 12.1.3. The application fails to open normally and crashes immediately upon startup.
I am currently using Xcode 16 (16A242d) and testing on an iPhone 7 running iOS 12.1.3. However, when I try to launch the app on the device, it crashes immediately. Below are the crash logs from the iPhone 7: 错误 11:54:55.731858+0800 kernel Sandbox: assertiond(62) System Policy: deny(1) file-read-metadata /private/var/mobile/Library/DuetExpertCenter/caches/ATXCacheFile-_ATXAppPredictor-TotalScore 错误 11:54:55.731897+0800 kernel Sandbox: assertiond(62) System Policy: deny(1) file-read-metadata /private/var/mobile/Library/DuetExpertCenter/caches 错误 11:54:55.754498+0800 kernel Sandbox: duetexpertd(132) deny(1) mach-lookup com.apple.proactive.ActionPrediction.predictions 错误 11:54:55.756102+0800 duetexpertd Unable to remove recent engagement cache file. Error: Error Domain=NSCocoaErrorDomain Code=4 UserInfo={NSFilePath=, NSUserStringVariant=, NSUnderlyingError=0x100db60a0 {Error Domain=NSPOSIXErrorDomain Code=2}} 错误 11:54:56.571640+0800 symptomsd Attempt to add an app with insufficient id, info { BKSApplicationStateAppIsFrontmost = 1; BKSApplicationStateExtensionKey = 0; SBApplicationStateDisplayIDKey = "com.igetcool.app"; SBApplicationStateKey = 8; SBApplicationStateProcessIDKey = 696; SBApplicationStateRunningReasonsKey = ( { SBApplicationStateRunningReasonAssertionIdentifierKey = UIApplicationLaunch; SBApplicationStateRunningReasonAssertionReasonKey = 10000; } ); SBMostElevatedStateForProcessID = 8; } 错误 11:54:56.829372+0800 assertiond [IGCProject:696] SyscallError: setpriority(PRIO_DARWIN_ROLE, 696, 3): No such process 错误 11:54:56.944833+0800 dasd Activity not tracked as being started, ignoring it 错误 11:55:06.153790+0800 symptomsd Attempt to add an app with insufficient id, info { BKSApplicationStateAppIsFrontmost = 1; BKSApplicationStateExtensionKey = 0; SBApplicationStateDisplayIDKey = "com.igetcool.app"; SBApplicationStateKey = 8; SBApplicationStateProcessIDKey = 697; SBMostElevatedStateForProcessID = 8; } 错误 11:55:06.430433+0800 assertiond [IGCProject:697] SyscallError: setpriority(PRIO_DARWIN_ROLE, 697, 3): No such process 错误 11:55:13.158889+0800 symptomsd Attempt to add an app with insufficient id, info { BKSApplicationStateAppIsFrontmost = 1; BKSApplicationStateExtensionKey = 0; SBApplicationStateDisplayIDKey = "com.igetcool.app"; SBApplicationStateKey = 8; SBApplicationStateProcessIDKey = 699; SBMostElevatedStateForProcessID = 8; } 错误 11:55:13.416290+0800 assertiond [IGCProject:699] SyscallError: setpriority(PRIO_DARWIN_ROLE, 699, 3): No such process I am trying to understand what is causing this issue. Even after archiving and installing the app, it still crashes. According to the official documentation, Xcode 16 is supposed to support iOS 12, but this issue persists. I would like to know the possible reasons for this behavior.
0
0
455
Mar ’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
123
Jun ’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
96
Apr ’25