I've developed a Multiplatform app under Xcode 26 (currently using 26.2 17C52). The current destinations of the single target are Mac, iPad and Mac(designed for iPad). The minimum deployments are MacOS 15.6 and iOS 18.6. All destinations build and perform correctly on physical devices (running OS 26 versions). The MacOS version has been submitted successfully to the AppStore for TestFlight usage. However, the iPad version shows a submission validation failure: Missing Info.plist value. A value for the key “WKApplication”, or “WKWatchKitApp” if your project has a WatchKit App Extension target, is required in “xxxxx.app/xxxxx.app” bundle. For details, see: https://developer.apple.com/documentation/watchkit/creating_independent_watchos_apps/setting_up_a_watchos_project (ID: 4911506c-39c3-4b69-a8bb-5e5dcd3dc2fb) The app has no WatchKit version (although one's planned for a future release). The Target's Build Settings include a watchOS Deployment Target and Info.plist values related to WatchKit. The Build
Search results for
SwiftUI List performance
50,609 results found
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Who do you ask the questions to ? If the spec is not published (I assume you did perform a web search), developers here will not likely have the information. If you want to ask directly to Apple, the forums is for developers and may not be the best place for academic verification
Topic:
Spatial Computing
SubTopic:
ARKit
I'm working on a watchOS app using SwiftUI that updates its UI based on regular, time-driven logic. On a real Apple Watch, after the app has been running for ~1 minute, the device enters Always-On / power-saving display mode (screen dimmed, wrist down). From that point on, SwiftUI UI updates become noticeably delayed. The underlying logic continues to run correctly, but the UI only redraws sporadically and often catches up once the screen becomes fully active again. The app is running in workout mode, which keeps it alive and maintains WatchConnectivity, but this does not prevent UI redraw throttling. Below is a minimal reproducible example that demonstrates the issue. PlaybackModel.swift import SwiftUI @MainActor final class PlaybackModel: ObservableObject { @Published var beat: Int = 0 private var timer: Timer? func start() { timer?.invalidate() timer = Timer.scheduledTimer(withTimeInterval: 0.5, repeats: true) { _ in Task { @MainActor in self.beat += 1 } } } func stop() { timer?.
For whatever reason SwiftUI sheets don't seem to be resizable anymore. The exact same code/project produces resizable Sheets in XCode 15.4 but unresizable ones with Swift included in Xcode 16 beta 2. Tried explicitly providing .fixedSize(horizontal false, vertical: false) everywhere humanly possible hoping for a fix but sheets are still stuck at an awkward size (turns out be the minWidth/minHeight if I provide in .frame).
Hi, I’ve built an app that includes a Contacts Provider Extension (CPE). On iOS 18, I observed the expected behavior — when the main app is uninstalled, the corresponding CPE entry is also removed from the Contacts list. However, on iOS 26, this no longer happens. After uninstalling the app, the CPE remains visible and active in the Contacts list, even though the app is gone.
We have submitted a feedback for this issue: FB21230723 We're building a note-taking app for iOS and macOS that uses both UITextView and NSTextView. When performing text input that involves a marked range (such as Japanese input) in a UITextView or NSTextView with a UITextViewDelegate or NSTextViewDelegate set, the text view's marked range (markedTextRange / markedRange()) has not yet been updated at the moment when shouldChangeTextIn is invoked. UITextViewDelegate.textView(_:shouldChangeTextIn:replacementText:) NSTextViewDelegate.textView(_:shouldChangeTextIn:replacementString:) The current behavior is this when entering text in Japanese: (same for NSTextView) func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool { print(textView.markedTextRange != nil) // prints out false DispatchQueue.main.async { print(textView.markedTextRange != nil) // prints out true } } However, we need the value of markedTextRange right away in order to determine wh
User spending on mobile apps keeps rising, but competition is growing faster, making App Store Optimization a critical pillar of mobile growth by improving visibility, reducing cost per install, and driving stronger organic performance. This post highlights the most important ASO trends for 2026, including AI driven optimization, user intent focus, localization, creative testing, analytics, and privacy first strategies to help apps grow consistently on the App Store.
Topic:
App Store Distribution & Marketing
SubTopic:
App Store Connect
Tags:
App Store
App Review
App Store Connect
@Frameworks Engineer Could you provide the version of your operating system where this issue was seen? I'm using the iOS simulator (iOS 26.2) running on Tahoe 26.1. I could try updating to Tahoe 26.2, if you think that would help? I have not tested this on device. @Apple Designer The best work-around I can offer for now is just add a verification in your tool call itself. Thanks, yes, I experimented with this, but I found that the model sometimes just persistently keeps calling the tool with the same invalid argument, sometimes appearing to get stuck in an infinite loop. I've also tried listing the valid section names in the instructions, but even with that I've observed that the model will still try to call the tool with invalid arguments. (This new world of non-deterministic engineering sure is an adventure!) More general question (assuming there was no bug)... would you recommend listing the valid arguments in the instructions? Or would that be redundant because the valid arguments are listed
Topic:
Machine Learning & AI
SubTopic:
Foundation Models
Hi! I've been scratching my brain for a few days now to no avail. I have a Perl project that I need to embed within my app. Perl includes a pp command (https://metacpan.org/pod/pp) which takes the runtime binary and then slaps the Perl code at the end of the binary itself which in brings some woes in a sense that the binary then needs to be fixed (https://github.com/rschupp/PAR-Packer/tree/master/contrib/pp_osx_codesign_fix) by removing the linker-provided signature and fixing LINKEDIT and LC_SYMTAB header sections of the binary. Nevertheless, I've successfully gotten the binary built, fixed up and codesigned it via codesign -s '$CS' mytool (where $CS is the codesigning identity). I can verify the signature as valid using codesign -v --display mytool: Identifier=mytool Format=Mach-O thin (arm64) CodeDirectory v=20400 size=24396 flags=0x0(none) hashes=757+2 location=embedded Signature size=4820 Signed Time=5. 1. 2026 at 8:54:53 PM Info.plist=not bound TeamIdentifier=XXXXXXX Sealed Resources=none Internal requi
I started using Xcode to package and submit my app yesterday, but it failed. I received a prompt Your app must be registered with App Store Connect before it can be uploaded. Xcode will create an app record with the following properties. halfway through the process. After filling it out and submitting, I received another prompt App Record Creation Error,App Record Creation failed as you do not have permission to perform requests of this type.。 I have already listed several apps on the app store. For the other apps, I also tried creating new versions, packaging, and submitting them, but I encountered the same error
Update / Resolution In my case, the flashing preview was not a capture pipeline issue, but a SwiftUI view lifecycle issue. The camera preview was conditionally shown using: authorized && session.isRunning && cameraReady During lock/unlock or camera switches, SwiftUI re-evaluates this condition multiple times. AVCaptureSession.isRunning can briefly fluctuate during interruption recovery, causing SwiftUI to: remove the preview view show a placeholder immediately reinsert the preview This rapid view swapping appeared as a “blank flash”. The preview layer itself was fine. Fix I removed session.isRunning from the SwiftUI visibility condition. The logic is now: authorized && cameraReady cameraReady is set once after initial setup and never toggles during interruptions. The preview view stays mounted at all times. Why this works AVCaptureVideoPreviewLayer already handles short “no frames” periods gracefully. By keeping the preview layer mounted and avoiding
Topic:
Media Technologies
SubTopic:
Photos & Camera
Tags:
FB20843042 is the feedback we filed which includes a sample project. What is the intent of foo(key: MyCustomTraitKey.self)? It was added in an effort to identify the source of the crash by minimizing types and functions used from system SDKs. The issue occurs with any function with the same signature. The original ossie wsa found when calling https://developer.apple.com/documentation/swiftui/environmentvalues/subscript(_:)-9zku
Topic:
UI Frameworks
SubTopic:
UIKit
Tags:
Hello, I have an iOS camera app that captures exposure brackets and performs custom HDR processing. On iOS 26, I’m observing a visual difference between: a single photo captured at –2 EV, and the –2 EV frame from an exposure bracket (–2 / 0 / +2 EV). On iOS 26: The single –2 EV image looks natural and consistent. The –2 EV image from the bracket appears clamped / distorted, most noticeably in high dynamic range scenes (highlight compression and loss of detail). On iOS 18, both approaches produce visually identical and correct –2 EV images. The issue only appears for bracketed captures on iOS 26. Attachments (examples) iOS 26 Single capture –2 EV (JPEG): /Users/danilobudimir/Downloads/ios26SingleImage/JPEG image-4006-8B77-51-0.jpeg Single capture –2 EV — Capture report (dumped settings): /Users/danilobudimir/Downloads/ios26SingleImage/UnderExposureDebug_CaptureReport_2026-01-09T15-59-20Z.md Bracket capture –2 EV frame (JPEG): /Users/danilobudimir/Downloads/bracket_iOS26/JPEG image-45CE-9793-A5-0.jpeg
Adding '_UIReparentingView' as a subview of UIHostingController.view is not supported and may result in a broken view hierarchy. Add your view above UIHostingController.view in a common superview or insert it into your SwiftUI content in a UIViewRepresentable instead. how can i fix this issue
Topic:
UI Frameworks
SubTopic:
SwiftUI
Thank you for your post. I am attempting to understand what you are tying to accomplish. Because you are using the UIHostingController I guess you are using UIKit and SwiftUI together? It would be greatly appreciated if you could provide a focused sample to demo the issue, without code is really hard for me. In my opinion I believe this error message suggests that you are attempting to directly add a subview to the view hierarchy of a view controller, which is not suggested and can result in issues with the view hierarchy. A view controller is designed to manage its own view hierarchy, and directly tampering with it can lead to unexpected behavior. If you wish to overlay or add views around the SwiftUI content managed by a view controller, you should do so by adding your views to a common superview that contains the view controller’s view. If your objective is to integrate UIKit views into SwiftUI, consider using to encapsulate a UIKit view and incorporate it within your SwiftUI
Topic:
UI Frameworks
SubTopic:
SwiftUI