Swift Packages

RSS for tag

Create reusable code, organize it in a lightweight way, and share it across Xcode projects and with other developers using Swift Packages.

Posts under Swift Packages tag

200 Posts

Post

Replies

Boosts

Views

Activity

Module dependency error
Hi everyone, yesterday i installed some package in my ios app , but i had a lot of problems to compile , due to reset my branch and get started from 0. My project have pods with firebase, lottie, instana and truskit but now, when a i try to run my project, xcode show "Unable to resolve module dependency" into LOTTIE, INSTANA, TRUSKIT, FIREBASE . I visited a lot of forums and websites, and i tried the followings steps: Pod deintegrate pod repoupdate pod install Clean build folder Delete derived data but isnot working. Also,I reinstalled xcode , 2 versions , i "re"clone my repository and the issue persist. Sorry, my english is basic only
0
0
286
Apr ’26
Xcode Cloud resolve packages crash
It's my first time I am configuring the Xcode cloud to build my project. Here is the crash and stack trace Stack trace One thing I noticed when I setup Xcode Cloud - it asked me to grant access to every public github library I have as dependency, I can't do that, as I am not owner or member of those libraries (firebase, swift algorithms, etc) when I tapped "Continue" there was an alert saying if I continue without granting access CI might not be able to fetch dependencies
1
0
1.3k
Apr ’26
Does Xcode / Swift Package Manager support custom Git authentication flows for private package distribution?
Hi, We are evaluating Swift Package Manager for distributing private packages to external customers. Our use case requires enterprise-grade authentication beyond standard username/password, personal access token, or SSH key based authentication. Our current authentication model relies on request signing / IAM-based authorization rather than standard Git credentials. From what we can tell, Swift Package Manager does not appear to expose a built-in mechanism for custom authentication hooks during package resolution. Because of that, we started exploring whether a Git-based workaround might be possible, such as: using a custom Git URL scheme handling that scheme through a Git remote helper using a Git credential helper or related Git configuration for authentication We tried a proof of concept along these lines, but Xcode did not seem to recognize or resolve the package correctly. We are trying to understand what is officially supported and what is not. Our questions are: Does Xcode / Swift Package Manager support package dependencies that rely on custom Git URL schemes? During package resolution, does Xcode honor system Git configuration for remote helpers and credential helpers? Is there any difference in support between: adding the package through the Xcode UI resolving through swift package resolve resolving through xcodebuild For private package distribution, is there any Apple-recommended approach when authentication requires request signing or a custom IAM-based flow instead of standard Git credentials? If custom Git authentication is not supported, should we assume the recommended path is to place an authenticated proxy or gateway in front of a standard Git or HTTPS endpoint instead? We are mainly trying to determine whether this direction is fundamentally unsupported in Xcode / SwiftPM, or whether there is a supported way to integrate enterprise authentication into package resolution. Any guidance would be appreciated. Thanks!
0
0
588
Apr ’26
Navigation bar flickers when pushing to a different screen
Hi everyone, I’m building a SwiftUI app using NavigationStack and running into a weird nav bar issue. For the setup I have a 'home' screen with a vertical ScrollView and a large edge-to-edge header that extends under the top safe area (using .ignoresSafeArea(edges: .top)). I also have a 'detail' screen with a similar immersive layout, where the header/poster image sits at the top and the ScrollView also extends under the top area. I’m using the native navigation bar on both screens and default back button, not a custom nav bar, and I’m not manually configuring UINavigationBarAppearance, I'm just relying on SwiftUI’s default/automatic toolbar behavior. The problem I’m facing is when I push from home to the detail screen, the top nav area briefly flickers and shows the system navigation bar/material background (white in light mode, black in dark mode). It’s clearly the system material, not the poster/image underneath. The screen initially renders with that nav bar state (white/dark), and only after I start scrolling does it correct itself and visually align with the header/background behind it. What I'm thinking is that maybe the detail screen initially renders with systemBackground, so the nav bar uses its default (standard) appearance on the first frame, and only after layout/interaction, once the image-derived background settles, does it switch to the correct scroll-edge/transparent style. One important thing, if I hide the nav bar on the detail screen using .toolbar(.hidden, for: .navigationBar), the issue disappears completely. So this seems specifically tied to the native nav bar’s initial render/appearance timing during the push, rather than just the layout or image loading. I’d prefer to keep the native nav bar and back button rather than implement a custom approach. Has anyone faced this issue before, or is there a correct way to structure edge-to-edge content under the nav bar so it renders properly on first push? Video of the issue: https://imgur.com/a/OYHtYbp
1
0
876
Apr ’26
My App Has Been Stuck in Waiting for Review Since March 7, 2026
Hello everyone, My app has been stuck in "Waiting for Review" for a long time, and I would like to know whether this is normal or whether I should take any additional action. App name: ختمة يومية Submission date: March 7, 2026 at 3:34 AM Current status: Waiting for Review I have already completed the required app information, including the TestFlight/App Review details, and there are no visible missing items in App Store Connect. I would like to ask: Is this review delay normal at the moment? Has anyone experienced a similar delay recently? Is there anything else I should check in App Store Connect? Would contacting App Review again help in this case? I would appreciate any advice or shared experience. Thank you.
1
1
805
Apr ’26
Localization in Swift macOS console Apps.
Is it possible to build localization into console apps, developed in SwiftUI in Xcode26. I have created a catalog, (.xcstrings file) with an English and fr-CA string. I have tried to display the French text without success. I am using the console app to test a package which also has English/French text. English text works fine in both package and the console main, but I cannot generate the French. From what I can discover so far it's not possible without bundling it as a .app, (console app). Looking for anyone who has crossed this bridge.
7
0
1.1k
Mar ’26
Xcode always enabling default package traits
Trying out the new package trait support in Xcode 26.4 and it seems like the default traits for the package are being enabled even when explicitly set to disabled. At first I thought it was something wonky in the Xcode UI around the new support for traits. I've been able to replicate the issue with just two Swift packages, so no Xcode UI for setting the traits. Feature package // swift-tools-version: 6.3 import PackageDescription let package = Package( name: "MyAwesomeFeature", platforms: [ .macOS(.v26) ], products: [ .library( name: "MyAwesomeFeature", targets: ["MyAwesomeFeature"] ) ], traits: [ .trait(name: "SomeBetaFeature"), .default(enabledTraits: ["SomeBetaFeature"]), ], targets: [ .target( name: "MyAwesomeFeature" ), ], swiftLanguageModes: [.v6] ) For the sake of testing I've given it a simple object that just prints if the trait is enabled Inside MyAwesomeFeature public struct SomeObject { func printTraitStatus() { #if SomeBetaFeature print("Beta feature enabled") #else print("Beta feature disabled") #endif } } I then have a second package that depends on the feature and produces an executable // swift-tools-version: 6.3 import PackageDescription let package = Package( name: "SwiftPackageBasedProgram", platforms: [ .macOS(.v26), ], products: [], dependencies: [ .package(name: "MyAwesomeFeature", path: "../MyAwesomeFeature", traits: []) ], targets: [ .executableTarget( name: "MyAwesomeProgram", dependencies: [ .product(name: "MyAwesomeFeature", package: "MyAwesomeFeature") ] ), ], swiftLanguageModes: [.v6] ) If I run MyAwesomeProgram from the command line with swift run I get the output I would expect Build of product 'MyAwesomeProgram' complete! (6.10s) Inside SwiftPM program Beta feature disabled If I run the same program from within Xcode though Inside SwiftPM program Beta feature enabled Program ended with exit code: 0 I've got the sample project available here if anyone wants to try it out. Has anyone else come across anything like this? Very possible I'm just missing something.
1
0
727
Mar ’26
Xcode Cloud Dependency Resolution - out-of-date resolved file
When I try to build my iOS app using Xcode Cloud, it encounters an error when trying to resolve packages: an out-of-date resolved file was detected at [path to package.resolved], which is not allowed when automatic dependency resolution is disabled; please make sure to update the file to reflect the changes in dependencies Looking at my package.resolved file, it all seems to be in order. What can I do to fix it?
11
4
8.7k
Mar ’26
SPM Failed to verified fingerprint for SSH url since Tahoe 26.3
Hi there, I recently updated to the latest version of macOS Tahoe 26.3. Since then, Xcode is not able to resolve my Swift Package dependencies anymore. We use SSH for all our Github hosted packages. When package resolution is running, we randomly have Failed to verify SSH fingerprint on some remote package. Nothing has changed and it worked perfectly with Tahoe 26.2. The SSH have been reconfigured and known hosts have been verified. Is something changed between those 2 versions or is it a bug ?
16
20
4.5k
Mar ’26
Swift compiler fails in Release (-O) when using generic ObservableObject with @Published on iOS < 26 in Xcode 26.3
When building a SwiftUI project in Xcode 26.3, Swift compilation fails in the Release configuration with Optimization Level set to -O, when the iOS deployment target is lower than iOS 26 (e.g. iOS 16, 17, or 18). The failure occurs when using a generic class conforming to ObservableObject that contains a @Published property. The same code: Compiles successfully in Xcode 16.3 (Release, -O) with iOS 16/17/18 Compiles successfully in Xcode 26.x when the deployment target is set to iOS 26 Compiles successfully in Xcode 26.x Debug configuration (-Onone) Compiles successfully in Xcode 26.x Release when optimization is disabled (-Onone) However, in Xcode 26.3, the build consistently fails in Release (-O) when targeting iOS 16, 17, or 18. This appears to be a Swift compiler optimization issue related to generics, ObservableObject, @Published, and back-deployment to iOS versions prior to iOS 26. STEPS TO REPRODUCE Create a new SwiftUI App project using Xcode 26.3. Leave all project settings at default (Swift version 5). Set the iOS Deployment Target to iOS 16, 17, or 18. Use the following minimal code: import SwiftUI internal import Combine @MainActor class CommonViewModel<Item>: ObservableObject { @Published var listArray = [Item]() } class ContentViewModel: CommonViewModel<String> { func reloadData() { self.listArray = ["1"] } } struct ContentView: View { @StateObject private var viewModel = ContentViewModel() var body: some View { Color.clear .onAppear { viewModel.reloadData() } } } Build and run the app using the Release configuration.
3
1
1.3k
Mar ’26
swift package with arm64e
I use spm manage swift package, now i want my macos app support arm64e,so i add arm64e in Build Srtting -> Architectures. but i got error Could not find module 'SwiftyJSON' for target 'arm64e-apple-macos'; found: arm64-apple-macos, x86_64-apple-macos Apparently, if no limit in Package.swift, SPM will only compile versions for x86 and ARM64 architectures by default. now, how should I configure SPM to compile the arm64e version? thanks
6
1
1.1k
Mar ’26
Xcode 26 references a local package twice for test
My project uses about 10 local packages. When Xcode determins its dependencies graph it includes project Foo (a package) and project Foo_Foo (???). This is a no op for normal builds, but causes the Foo package to be linked twice for test builds which then fail due to duplicate symbols. Nowhere in my repository is Foo_Foo defined or reference. Nowhere in the .xcodeproj/ folder is there mention of Foo_Foo. What am I doing wrong?
1
0
611
Mar ’26
CloudKit Sync Stalls During Initial Large Data Hydration on New Device (SwiftData Local-First Architecture)
Hi everyone, I’m facing an issue with CloudKit sync getting stuck during initial device migration in my SwiftData-based app. The app follows a local-first architecture using SwiftData + CloudKit sync, and works correctly for: ✔ Incremental sync ✔ Bi-directional updates ✔ Small datasets However, when onboarding a new device with large historical data, sync becomes extremely slow or appears stuck. Even after two hours data is not fully synced. ~6900 Transactions 🚨 Problem When installing the app on a new iPhone and enabling iCloud sync: • Initial hydration starts • A small amount of data syncs • Then sync stalls indefinitely Observed behaviour: • iPhone → Mac sync works (new changes sync back) • Mac → iPhone large historical migration gets stuck • Reinstalling app / clearing container does not resolve issue • Sync never completes full migration This gives the impression that: CloudKit is trickling data but not progressing after a certain threshold. The architecture is: • SwiftData local store • Manual CloudKit sync layer • Local-first persistence • Background push/pull sync So I understand: ✔ Conflict resolution is custom ✔ Initial import may not be optimized by default But I expected CloudKit to eventually deliver all records. Instead, the new device remains permanently in a “partial state”. ⸻ 🔍 Observations • No fatal CloudKit errors • No rate-limit errors • No quota issues • iCloud is available • Sync state remains “Ready” • Hydration remains “mostlyReady” Meaning: CloudKit does not report failure — but data transfer halts. ⸻ 🤔 Questions Would appreciate guidance on: Is CloudKit designed to support large initial dataset migration via manual sync layers? Or is this a known limitation vs NSPersistentCloudKitContainer? ⸻ Does CloudKit internally throttle historical record fetches? Could it silently stall without error when record volume is high? ⸻ Is there any recommended strategy for: • Bulk initial migration • Progressive hydration • Forcing forward sync progress ⸻ Should initial migration be handled outside CloudKit (e.g. via file transfer / backup restore) before enabling sync? ⸻ 🎯 Goal I want to support: • Large historical onboarding • Multi-device sync • User-visible progress Without forcing migration to Core Data. ⸻ 🙏 Any advice on: • Best practices • Debugging approach • CloudKit behavior in such scenarios would be greatly appreciated. Thank you!
1
0
1.3k
Mar ’26
Metal Shader inside Swift Package not found?
Hello everyone! I am trying to wrap a ViewModifier inside a Swift Package that bundles a metal shader file to be used in the modifier. Everything works as expected in the Preview, in the Simulator and on a real device for iOS. It also works in Preview and in the Simulator for tvOS but not on a real AppleTV. I have tried this on a 4th generation Apple TV running tvOS 26.3 using Xcode 26.2.0. Xcode logs the following: The metallib is processed and exists in the bundle. Compiler failed to build request precondition failure: pipeline error: custom_effect-fg2a5cia7fmha4: error: unresolved visible function reference: custom_fn Reason: visible function not loaded Compiler failed to build request precondition failure: pipeline error: custom_effect-fg2a5cia7fmha4: error: unresolved visible function reference: custom_fn Reason: visible function not loaded Compiler failed to build request precondition failure: pipeline error: custom_effect-fg2a5cia7fmha4: error: unresolved visible function reference: custom_fn Reason: visible function not loaded Compiler failed to build request precondition failure: pipeline error: custom_effect-fg2a5cia7fmha4: error: unresolved visible function reference: custom_fn Reason: visible function not loaded Compiler failed to build request precondition failure: pipeline error: custom_effect-fg2a5cia7fmha4: error: unresolved visible function reference: custom_fn Reason: visible function not loaded Compiler failed to build request precondition failure: pipeline error: custom_effect-fg2a5cia7fmha4: error: unresolved visible function reference: custom_fn Reason: visible function not loaded Contents of Package.swift: import PackageDescription let package = Package( name: "Test", platforms: [ .iOS(.v17), .tvOS(.v17) ], products: [ .library( name: "Test", targets: [ "Test" ] ) ], targets: [ .target( name: "Test", resources: [ .process("Shaders") ] ), .testTarget( name: "TestTests", dependencies: [ "Test" ] ) ] ) Content of my metal file: #include <metal_stdlib> using namespace metal; [[ stitchable ]] float2 complexWave(float2 position, float time, float2 size, float speed, float strength, float frequency) { float2 normalizedPosition = position / size; float moveAmount = time * speed; position.x += sin((normalizedPosition.x + moveAmount) * frequency) * strength; position.y += cos((normalizedPosition.y + moveAmount) * frequency) * strength; return position; } And my ViewModifier: import MetalKit import SwiftUI extension ShaderFunction { static let complexWave: ShaderFunction = { ShaderFunction( library: .bundle(.module), name: "complexWave" ) }() } extension Shader { static func complexWave(arguments: [Shader.Argument]) -> Shader { Shader(function: .complexWave, arguments: arguments) } } struct WaveModifier: ViewModifier { let start: Date = .now func body(content: Content) -> some View { TimelineView(.animation) { context in let delta = context.date.timeIntervalSince(start) content .visualEffect { view, proxy in view.distortionEffect( .complexWave( arguments: [ .float(delta), .float2(proxy.size), .float(0.5), .float(8), .float(10) ] ), maxSampleOffset: .zero ) } } .onAppear { let paths = Bundle.module.paths(forResourcesOfType: "metallib", inDirectory: nil) print(paths) } } } extension View { public func wave() -> some View { modifier(WaveModifier()) } } #Preview { Image(systemName: "cart") .wave() } Any help is appreciated.
0
0
1.1k
Mar ’26
Archiving Catalyst project that embeds macOS tool
Hi! I have a Catalyst app that embeds command line utility. So the project has two targets: Catalyst target, this target depends on #2 and embeds it into its bundle. macOS target, the command line tool. Both targets have package dependency to the same package. I used this to embed the CMD tool. Everything builds, runs and works fine until I try to archive the project. Archiving stops early with such error: error: Multiple commands produce '/Users/kse2/Library/Developer/Xcode/DerivedData/PkgTest-clngkndczxoprpdlwefqqiqlryjt/Build/Intermediates.noindex/ArchiveIntermediates/PkgTest/IntermediateBuildFilesPath/UninstalledProducts/macosx/MacrosForSwift.o' note: Target 'MacrosForSwift' (project 'MacrosForSwift') has a command with output '/Users/kse2/Library/Developer/Xcode/DerivedData/PkgTest-clngkndczxoprpdlwefqqiqlryjt/Build/Intermediates.noindex/ArchiveIntermediates/PkgTest/IntermediateBuildFilesPath/UninstalledProducts/macosx/MacrosForSwift.o' note: Target 'MacrosForSwift' (project 'MacrosForSwift') has a command with output '/Users/kse2/Library/Developer/Xcode/DerivedData/PkgTest-clngkndczxoprpdlwefqqiqlryjt/Build/Intermediates.noindex/ArchiveIntermediates/PkgTest/IntermediateBuildFilesPath/UninstalledProducts/macosx/MacrosForSwift.o' What I have tried to fix archiving: Changing PkgTestCMD target to be on Catalyst/iOS instead of macOS. This works but I'm not sure how to properly run CMD tool with iOS SDK (if this correct at all): I need the main thread to be 'unblocked' and be active while background tasks exist. Adding an aux framework that act as container for the package. Doesn't work. Splitting targets into different projects, making workspace and cross-project reference. Doesn't work. My understanding is that archiving attempts to produce .o files for both Catalyst and macOS simultaneously, due to PkgTest being Catalyst and PkgTestCMD being macOS targets. How to archive such a project? Is there a way to separate archiving of CMD and main app? Maybe separate .o files into different directories. Simple building and running the project works, why archiving doesn't want to? I have a test project for the issue: PkgTest. main branch is the source project, DepFramework contains attempt #2, Workspace—#3. Thank you!
2
0
482
Feb ’26
How to get accurate Mouse/Trackpad deltas on macOS when using CGWarpMouseCursorPosition?
I am working on a remote control application for macOS where I need to maintain two "virtual" cursors: Remote Cursor: Follows the remote user's movements. Local Cursor: Follows the local user's physical mouse/trackpad movements. To move the system cursor (for the remote side), I use CGWarpMouseCursorPosition as follows: void DualCursorMac::UpdateSystemCursorPosition(int x, int y) { CGPoint point = CGPointMake(static_cast<CGFloat>(x), static_cast<CGFloat>(y)); // Warp the cursor to match remote coordinates CGWarpMouseCursorPosition(point); } Meanwhile, I use a CGEventTap to monitor local physical movements to update my local virtual cursor's UI: CGEventRef Mouse::MouseTapCallback(CGEventTapProxy proxy, CGEventType type, CGEventRef event, void *refcon) { if (remoteControlMode) { // We want to suppress system cursor movement but still read the delta const int deltaX = static_cast<int>(CGEventGetIntegerValueField(event, kCGMouseEventDeltaX)); const int deltaY = static_cast<int>(CGEventGetIntegerValueField(event, kCGMouseEventDeltaY)); NSLog(@"MouseTapCallback: delta:(%d, %d)", deltaX, deltaY); // Update local virtual cursor UI based on deltas... return nullptr; // Consume the event } return event; } The Problem: When CGWarpMouseCursorPosition is called frequently to update the system cursor, it interferes with the kCGMouseEventDeltaX/Y values in the Event Tap. Specifically, if the local user moves the trackpad slowly (expecting deltas of 1 or 2), but a "Warp" occurs simultaneously (e.g., jumping the cursor from (100, 100) to (300, 300)), the deltaX and deltaY in the callback suddenly spike to very large values. It seems the system calculates the delta based on the new warped position rather than the pure physical displacement of the trackpad. This makes the local virtual cursor "jump" erratically and makes it impossible to track smooth local movement during remote control. My Question: Is there a way to get the "raw" or "pure" physical relative movement (delta) from the trackpad/mouse that is independent of the system cursor's absolute position or warping? Are there alternative APIs (perhaps IOKit or different CGEvent fields) that would allow me to get consistent deltas even when the cursor is being warped programmatically?
0
0
1.3k
Feb ’26
ITMS-90426: Invalid Swift Support
Good day, I've uploaded a build to TestFlight, but received an automated response with the following error: ITMS-90426: Invalid Swift Support - The SwiftSupport folder is missing. Rebuild your app using the current public (GM) version of Xcode and resubmit it. Our project started in Objective-C and have mixed swift class and pods. The last uploaded build without any automated response was Nov 8, 2023. I'm using XCode Version 26.0.1 (17A400). I've tried every way i found in internet and i'm not able to find any solution for this. ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES use_frameworks! :linkage => :dynamic (in pods) We would appreciate any assistance in clarifying why this issue is occurring and how we should proceed to address it. Your guidance would mean a lot. Thank you.
1
1
526
Feb ’26
Module dependency error
Hi everyone, yesterday i installed some package in my ios app , but i had a lot of problems to compile , due to reset my branch and get started from 0. My project have pods with firebase, lottie, instana and truskit but now, when a i try to run my project, xcode show "Unable to resolve module dependency" into LOTTIE, INSTANA, TRUSKIT, FIREBASE . I visited a lot of forums and websites, and i tried the followings steps: Pod deintegrate pod repoupdate pod install Clean build folder Delete derived data but isnot working. Also,I reinstalled xcode , 2 versions , i "re"clone my repository and the issue persist. Sorry, my english is basic only
Replies
0
Boosts
0
Views
286
Activity
Apr ’26
Xcode Cloud resolve packages crash
It's my first time I am configuring the Xcode cloud to build my project. Here is the crash and stack trace Stack trace One thing I noticed when I setup Xcode Cloud - it asked me to grant access to every public github library I have as dependency, I can't do that, as I am not owner or member of those libraries (firebase, swift algorithms, etc) when I tapped "Continue" there was an alert saying if I continue without granting access CI might not be able to fetch dependencies
Replies
1
Boosts
0
Views
1.3k
Activity
Apr ’26
Does Xcode / Swift Package Manager support custom Git authentication flows for private package distribution?
Hi, We are evaluating Swift Package Manager for distributing private packages to external customers. Our use case requires enterprise-grade authentication beyond standard username/password, personal access token, or SSH key based authentication. Our current authentication model relies on request signing / IAM-based authorization rather than standard Git credentials. From what we can tell, Swift Package Manager does not appear to expose a built-in mechanism for custom authentication hooks during package resolution. Because of that, we started exploring whether a Git-based workaround might be possible, such as: using a custom Git URL scheme handling that scheme through a Git remote helper using a Git credential helper or related Git configuration for authentication We tried a proof of concept along these lines, but Xcode did not seem to recognize or resolve the package correctly. We are trying to understand what is officially supported and what is not. Our questions are: Does Xcode / Swift Package Manager support package dependencies that rely on custom Git URL schemes? During package resolution, does Xcode honor system Git configuration for remote helpers and credential helpers? Is there any difference in support between: adding the package through the Xcode UI resolving through swift package resolve resolving through xcodebuild For private package distribution, is there any Apple-recommended approach when authentication requires request signing or a custom IAM-based flow instead of standard Git credentials? If custom Git authentication is not supported, should we assume the recommended path is to place an authenticated proxy or gateway in front of a standard Git or HTTPS endpoint instead? We are mainly trying to determine whether this direction is fundamentally unsupported in Xcode / SwiftPM, or whether there is a supported way to integrate enterprise authentication into package resolution. Any guidance would be appreciated. Thanks!
Replies
0
Boosts
0
Views
588
Activity
Apr ’26
Navigation bar flickers when pushing to a different screen
Hi everyone, I’m building a SwiftUI app using NavigationStack and running into a weird nav bar issue. For the setup I have a 'home' screen with a vertical ScrollView and a large edge-to-edge header that extends under the top safe area (using .ignoresSafeArea(edges: .top)). I also have a 'detail' screen with a similar immersive layout, where the header/poster image sits at the top and the ScrollView also extends under the top area. I’m using the native navigation bar on both screens and default back button, not a custom nav bar, and I’m not manually configuring UINavigationBarAppearance, I'm just relying on SwiftUI’s default/automatic toolbar behavior. The problem I’m facing is when I push from home to the detail screen, the top nav area briefly flickers and shows the system navigation bar/material background (white in light mode, black in dark mode). It’s clearly the system material, not the poster/image underneath. The screen initially renders with that nav bar state (white/dark), and only after I start scrolling does it correct itself and visually align with the header/background behind it. What I'm thinking is that maybe the detail screen initially renders with systemBackground, so the nav bar uses its default (standard) appearance on the first frame, and only after layout/interaction, once the image-derived background settles, does it switch to the correct scroll-edge/transparent style. One important thing, if I hide the nav bar on the detail screen using .toolbar(.hidden, for: .navigationBar), the issue disappears completely. So this seems specifically tied to the native nav bar’s initial render/appearance timing during the push, rather than just the layout or image loading. I’d prefer to keep the native nav bar and back button rather than implement a custom approach. Has anyone faced this issue before, or is there a correct way to structure edge-to-edge content under the nav bar so it renders properly on first push? Video of the issue: https://imgur.com/a/OYHtYbp
Replies
1
Boosts
0
Views
876
Activity
Apr ’26
My App Has Been Stuck in Waiting for Review Since March 7, 2026
Hello everyone, My app has been stuck in "Waiting for Review" for a long time, and I would like to know whether this is normal or whether I should take any additional action. App name: ختمة يومية Submission date: March 7, 2026 at 3:34 AM Current status: Waiting for Review I have already completed the required app information, including the TestFlight/App Review details, and there are no visible missing items in App Store Connect. I would like to ask: Is this review delay normal at the moment? Has anyone experienced a similar delay recently? Is there anything else I should check in App Store Connect? Would contacting App Review again help in this case? I would appreciate any advice or shared experience. Thank you.
Replies
1
Boosts
1
Views
805
Activity
Apr ’26
Localization in Swift macOS console Apps.
Is it possible to build localization into console apps, developed in SwiftUI in Xcode26. I have created a catalog, (.xcstrings file) with an English and fr-CA string. I have tried to display the French text without success. I am using the console app to test a package which also has English/French text. English text works fine in both package and the console main, but I cannot generate the French. From what I can discover so far it's not possible without bundling it as a .app, (console app). Looking for anyone who has crossed this bridge.
Replies
7
Boosts
0
Views
1.1k
Activity
Mar ’26
Xcode always enabling default package traits
Trying out the new package trait support in Xcode 26.4 and it seems like the default traits for the package are being enabled even when explicitly set to disabled. At first I thought it was something wonky in the Xcode UI around the new support for traits. I've been able to replicate the issue with just two Swift packages, so no Xcode UI for setting the traits. Feature package // swift-tools-version: 6.3 import PackageDescription let package = Package( name: "MyAwesomeFeature", platforms: [ .macOS(.v26) ], products: [ .library( name: "MyAwesomeFeature", targets: ["MyAwesomeFeature"] ) ], traits: [ .trait(name: "SomeBetaFeature"), .default(enabledTraits: ["SomeBetaFeature"]), ], targets: [ .target( name: "MyAwesomeFeature" ), ], swiftLanguageModes: [.v6] ) For the sake of testing I've given it a simple object that just prints if the trait is enabled Inside MyAwesomeFeature public struct SomeObject { func printTraitStatus() { #if SomeBetaFeature print("Beta feature enabled") #else print("Beta feature disabled") #endif } } I then have a second package that depends on the feature and produces an executable // swift-tools-version: 6.3 import PackageDescription let package = Package( name: "SwiftPackageBasedProgram", platforms: [ .macOS(.v26), ], products: [], dependencies: [ .package(name: "MyAwesomeFeature", path: "../MyAwesomeFeature", traits: []) ], targets: [ .executableTarget( name: "MyAwesomeProgram", dependencies: [ .product(name: "MyAwesomeFeature", package: "MyAwesomeFeature") ] ), ], swiftLanguageModes: [.v6] ) If I run MyAwesomeProgram from the command line with swift run I get the output I would expect Build of product 'MyAwesomeProgram' complete! (6.10s) Inside SwiftPM program Beta feature disabled If I run the same program from within Xcode though Inside SwiftPM program Beta feature enabled Program ended with exit code: 0 I've got the sample project available here if anyone wants to try it out. Has anyone else come across anything like this? Very possible I'm just missing something.
Replies
1
Boosts
0
Views
727
Activity
Mar ’26
Xcode Cloud Dependency Resolution - out-of-date resolved file
When I try to build my iOS app using Xcode Cloud, it encounters an error when trying to resolve packages: an out-of-date resolved file was detected at [path to package.resolved], which is not allowed when automatic dependency resolution is disabled; please make sure to update the file to reflect the changes in dependencies Looking at my package.resolved file, it all seems to be in order. What can I do to fix it?
Replies
11
Boosts
4
Views
8.7k
Activity
Mar ’26
SPM Failed to verified fingerprint for SSH url since Tahoe 26.3
Hi there, I recently updated to the latest version of macOS Tahoe 26.3. Since then, Xcode is not able to resolve my Swift Package dependencies anymore. We use SSH for all our Github hosted packages. When package resolution is running, we randomly have Failed to verify SSH fingerprint on some remote package. Nothing has changed and it worked perfectly with Tahoe 26.2. The SSH have been reconfigured and known hosts have been verified. Is something changed between those 2 versions or is it a bug ?
Replies
16
Boosts
20
Views
4.5k
Activity
Mar ’26
Swift compiler fails in Release (-O) when using generic ObservableObject with @Published on iOS < 26 in Xcode 26.3
When building a SwiftUI project in Xcode 26.3, Swift compilation fails in the Release configuration with Optimization Level set to -O, when the iOS deployment target is lower than iOS 26 (e.g. iOS 16, 17, or 18). The failure occurs when using a generic class conforming to ObservableObject that contains a @Published property. The same code: Compiles successfully in Xcode 16.3 (Release, -O) with iOS 16/17/18 Compiles successfully in Xcode 26.x when the deployment target is set to iOS 26 Compiles successfully in Xcode 26.x Debug configuration (-Onone) Compiles successfully in Xcode 26.x Release when optimization is disabled (-Onone) However, in Xcode 26.3, the build consistently fails in Release (-O) when targeting iOS 16, 17, or 18. This appears to be a Swift compiler optimization issue related to generics, ObservableObject, @Published, and back-deployment to iOS versions prior to iOS 26. STEPS TO REPRODUCE Create a new SwiftUI App project using Xcode 26.3. Leave all project settings at default (Swift version 5). Set the iOS Deployment Target to iOS 16, 17, or 18. Use the following minimal code: import SwiftUI internal import Combine @MainActor class CommonViewModel<Item>: ObservableObject { @Published var listArray = [Item]() } class ContentViewModel: CommonViewModel<String> { func reloadData() { self.listArray = ["1"] } } struct ContentView: View { @StateObject private var viewModel = ContentViewModel() var body: some View { Color.clear .onAppear { viewModel.reloadData() } } } Build and run the app using the Release configuration.
Replies
3
Boosts
1
Views
1.3k
Activity
Mar ’26
swift package with arm64e
I use spm manage swift package, now i want my macos app support arm64e,so i add arm64e in Build Srtting -> Architectures. but i got error Could not find module 'SwiftyJSON' for target 'arm64e-apple-macos'; found: arm64-apple-macos, x86_64-apple-macos Apparently, if no limit in Package.swift, SPM will only compile versions for x86 and ARM64 architectures by default. now, how should I configure SPM to compile the arm64e version? thanks
Replies
6
Boosts
1
Views
1.1k
Activity
Mar ’26
Xcode 26 references a local package twice for test
My project uses about 10 local packages. When Xcode determins its dependencies graph it includes project Foo (a package) and project Foo_Foo (???). This is a no op for normal builds, but causes the Foo package to be linked twice for test builds which then fail due to duplicate symbols. Nowhere in my repository is Foo_Foo defined or reference. Nowhere in the .xcodeproj/ folder is there mention of Foo_Foo. What am I doing wrong?
Replies
1
Boosts
0
Views
611
Activity
Mar ’26
CloudKit Sync Stalls During Initial Large Data Hydration on New Device (SwiftData Local-First Architecture)
Hi everyone, I’m facing an issue with CloudKit sync getting stuck during initial device migration in my SwiftData-based app. The app follows a local-first architecture using SwiftData + CloudKit sync, and works correctly for: ✔ Incremental sync ✔ Bi-directional updates ✔ Small datasets However, when onboarding a new device with large historical data, sync becomes extremely slow or appears stuck. Even after two hours data is not fully synced. ~6900 Transactions 🚨 Problem When installing the app on a new iPhone and enabling iCloud sync: • Initial hydration starts • A small amount of data syncs • Then sync stalls indefinitely Observed behaviour: • iPhone → Mac sync works (new changes sync back) • Mac → iPhone large historical migration gets stuck • Reinstalling app / clearing container does not resolve issue • Sync never completes full migration This gives the impression that: CloudKit is trickling data but not progressing after a certain threshold. The architecture is: • SwiftData local store • Manual CloudKit sync layer • Local-first persistence • Background push/pull sync So I understand: ✔ Conflict resolution is custom ✔ Initial import may not be optimized by default But I expected CloudKit to eventually deliver all records. Instead, the new device remains permanently in a “partial state”. ⸻ 🔍 Observations • No fatal CloudKit errors • No rate-limit errors • No quota issues • iCloud is available • Sync state remains “Ready” • Hydration remains “mostlyReady” Meaning: CloudKit does not report failure — but data transfer halts. ⸻ 🤔 Questions Would appreciate guidance on: Is CloudKit designed to support large initial dataset migration via manual sync layers? Or is this a known limitation vs NSPersistentCloudKitContainer? ⸻ Does CloudKit internally throttle historical record fetches? Could it silently stall without error when record volume is high? ⸻ Is there any recommended strategy for: • Bulk initial migration • Progressive hydration • Forcing forward sync progress ⸻ Should initial migration be handled outside CloudKit (e.g. via file transfer / backup restore) before enabling sync? ⸻ 🎯 Goal I want to support: • Large historical onboarding • Multi-device sync • User-visible progress Without forcing migration to Core Data. ⸻ 🙏 Any advice on: • Best practices • Debugging approach • CloudKit behavior in such scenarios would be greatly appreciated. Thank you!
Replies
1
Boosts
0
Views
1.3k
Activity
Mar ’26
Metal Shader inside Swift Package not found?
Hello everyone! I am trying to wrap a ViewModifier inside a Swift Package that bundles a metal shader file to be used in the modifier. Everything works as expected in the Preview, in the Simulator and on a real device for iOS. It also works in Preview and in the Simulator for tvOS but not on a real AppleTV. I have tried this on a 4th generation Apple TV running tvOS 26.3 using Xcode 26.2.0. Xcode logs the following: The metallib is processed and exists in the bundle. Compiler failed to build request precondition failure: pipeline error: custom_effect-fg2a5cia7fmha4: error: unresolved visible function reference: custom_fn Reason: visible function not loaded Compiler failed to build request precondition failure: pipeline error: custom_effect-fg2a5cia7fmha4: error: unresolved visible function reference: custom_fn Reason: visible function not loaded Compiler failed to build request precondition failure: pipeline error: custom_effect-fg2a5cia7fmha4: error: unresolved visible function reference: custom_fn Reason: visible function not loaded Compiler failed to build request precondition failure: pipeline error: custom_effect-fg2a5cia7fmha4: error: unresolved visible function reference: custom_fn Reason: visible function not loaded Compiler failed to build request precondition failure: pipeline error: custom_effect-fg2a5cia7fmha4: error: unresolved visible function reference: custom_fn Reason: visible function not loaded Compiler failed to build request precondition failure: pipeline error: custom_effect-fg2a5cia7fmha4: error: unresolved visible function reference: custom_fn Reason: visible function not loaded Contents of Package.swift: import PackageDescription let package = Package( name: "Test", platforms: [ .iOS(.v17), .tvOS(.v17) ], products: [ .library( name: "Test", targets: [ "Test" ] ) ], targets: [ .target( name: "Test", resources: [ .process("Shaders") ] ), .testTarget( name: "TestTests", dependencies: [ "Test" ] ) ] ) Content of my metal file: #include <metal_stdlib> using namespace metal; [[ stitchable ]] float2 complexWave(float2 position, float time, float2 size, float speed, float strength, float frequency) { float2 normalizedPosition = position / size; float moveAmount = time * speed; position.x += sin((normalizedPosition.x + moveAmount) * frequency) * strength; position.y += cos((normalizedPosition.y + moveAmount) * frequency) * strength; return position; } And my ViewModifier: import MetalKit import SwiftUI extension ShaderFunction { static let complexWave: ShaderFunction = { ShaderFunction( library: .bundle(.module), name: "complexWave" ) }() } extension Shader { static func complexWave(arguments: [Shader.Argument]) -> Shader { Shader(function: .complexWave, arguments: arguments) } } struct WaveModifier: ViewModifier { let start: Date = .now func body(content: Content) -> some View { TimelineView(.animation) { context in let delta = context.date.timeIntervalSince(start) content .visualEffect { view, proxy in view.distortionEffect( .complexWave( arguments: [ .float(delta), .float2(proxy.size), .float(0.5), .float(8), .float(10) ] ), maxSampleOffset: .zero ) } } .onAppear { let paths = Bundle.module.paths(forResourcesOfType: "metallib", inDirectory: nil) print(paths) } } } extension View { public func wave() -> some View { modifier(WaveModifier()) } } #Preview { Image(systemName: "cart") .wave() } Any help is appreciated.
Replies
0
Boosts
0
Views
1.1k
Activity
Mar ’26
Archiving Catalyst project that embeds macOS tool
Hi! I have a Catalyst app that embeds command line utility. So the project has two targets: Catalyst target, this target depends on #2 and embeds it into its bundle. macOS target, the command line tool. Both targets have package dependency to the same package. I used this to embed the CMD tool. Everything builds, runs and works fine until I try to archive the project. Archiving stops early with such error: error: Multiple commands produce '/Users/kse2/Library/Developer/Xcode/DerivedData/PkgTest-clngkndczxoprpdlwefqqiqlryjt/Build/Intermediates.noindex/ArchiveIntermediates/PkgTest/IntermediateBuildFilesPath/UninstalledProducts/macosx/MacrosForSwift.o' note: Target 'MacrosForSwift' (project 'MacrosForSwift') has a command with output '/Users/kse2/Library/Developer/Xcode/DerivedData/PkgTest-clngkndczxoprpdlwefqqiqlryjt/Build/Intermediates.noindex/ArchiveIntermediates/PkgTest/IntermediateBuildFilesPath/UninstalledProducts/macosx/MacrosForSwift.o' note: Target 'MacrosForSwift' (project 'MacrosForSwift') has a command with output '/Users/kse2/Library/Developer/Xcode/DerivedData/PkgTest-clngkndczxoprpdlwefqqiqlryjt/Build/Intermediates.noindex/ArchiveIntermediates/PkgTest/IntermediateBuildFilesPath/UninstalledProducts/macosx/MacrosForSwift.o' What I have tried to fix archiving: Changing PkgTestCMD target to be on Catalyst/iOS instead of macOS. This works but I'm not sure how to properly run CMD tool with iOS SDK (if this correct at all): I need the main thread to be 'unblocked' and be active while background tasks exist. Adding an aux framework that act as container for the package. Doesn't work. Splitting targets into different projects, making workspace and cross-project reference. Doesn't work. My understanding is that archiving attempts to produce .o files for both Catalyst and macOS simultaneously, due to PkgTest being Catalyst and PkgTestCMD being macOS targets. How to archive such a project? Is there a way to separate archiving of CMD and main app? Maybe separate .o files into different directories. Simple building and running the project works, why archiving doesn't want to? I have a test project for the issue: PkgTest. main branch is the source project, DepFramework contains attempt #2, Workspace—#3. Thank you!
Replies
2
Boosts
0
Views
482
Activity
Feb ’26
How to get accurate Mouse/Trackpad deltas on macOS when using CGWarpMouseCursorPosition?
I am working on a remote control application for macOS where I need to maintain two "virtual" cursors: Remote Cursor: Follows the remote user's movements. Local Cursor: Follows the local user's physical mouse/trackpad movements. To move the system cursor (for the remote side), I use CGWarpMouseCursorPosition as follows: void DualCursorMac::UpdateSystemCursorPosition(int x, int y) { CGPoint point = CGPointMake(static_cast<CGFloat>(x), static_cast<CGFloat>(y)); // Warp the cursor to match remote coordinates CGWarpMouseCursorPosition(point); } Meanwhile, I use a CGEventTap to monitor local physical movements to update my local virtual cursor's UI: CGEventRef Mouse::MouseTapCallback(CGEventTapProxy proxy, CGEventType type, CGEventRef event, void *refcon) { if (remoteControlMode) { // We want to suppress system cursor movement but still read the delta const int deltaX = static_cast<int>(CGEventGetIntegerValueField(event, kCGMouseEventDeltaX)); const int deltaY = static_cast<int>(CGEventGetIntegerValueField(event, kCGMouseEventDeltaY)); NSLog(@"MouseTapCallback: delta:(%d, %d)", deltaX, deltaY); // Update local virtual cursor UI based on deltas... return nullptr; // Consume the event } return event; } The Problem: When CGWarpMouseCursorPosition is called frequently to update the system cursor, it interferes with the kCGMouseEventDeltaX/Y values in the Event Tap. Specifically, if the local user moves the trackpad slowly (expecting deltas of 1 or 2), but a "Warp" occurs simultaneously (e.g., jumping the cursor from (100, 100) to (300, 300)), the deltaX and deltaY in the callback suddenly spike to very large values. It seems the system calculates the delta based on the new warped position rather than the pure physical displacement of the trackpad. This makes the local virtual cursor "jump" erratically and makes it impossible to track smooth local movement during remote control. My Question: Is there a way to get the "raw" or "pure" physical relative movement (delta) from the trackpad/mouse that is independent of the system cursor's absolute position or warping? Are there alternative APIs (perhaps IOKit or different CGEvent fields) that would allow me to get consistent deltas even when the cursor is being warped programmatically?
Replies
0
Boosts
0
Views
1.3k
Activity
Feb ’26
ITMS-90426: Invalid Swift Support
Good day, I've uploaded a build to TestFlight, but received an automated response with the following error: ITMS-90426: Invalid Swift Support - The SwiftSupport folder is missing. Rebuild your app using the current public (GM) version of Xcode and resubmit it. Our project started in Objective-C and have mixed swift class and pods. The last uploaded build without any automated response was Nov 8, 2023. I'm using XCode Version 26.0.1 (17A400). I've tried every way i found in internet and i'm not able to find any solution for this. ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES use_frameworks! :linkage => :dynamic (in pods) We would appreciate any assistance in clarifying why this issue is occurring and how we should proceed to address it. Your guidance would mean a lot. Thank you.
Replies
1
Boosts
1
Views
526
Activity
Feb ’26