.navigationDestination(isPresented) hangs after reboot (when called within 2 minutes of reboot) in watchOS when destination view contains @Environment(.dismiss). Feedback: FB21077151 Second button hangs after reboot. Hangs in watchOS 26.0 and 26.4 on a physical device. struct ContentView: View { @State var presentView1 : Bool = false @State var presentView2 : Bool = false var body: some View { NavigationStack { VStack { Button(Show View 1) { presentView1.toggle() } Button(Show View 2) { presentView2.toggle() } } .navigationDestination(isPresented: $presentView1, destination: {TestView1()}) .navigationDestination(isPresented: $presentView2, destination: {TestView2()}) } } } struct TestView1: View { var body: some View { Text(View 1) } } struct TestView2: View { @Environment(.dismiss) var dismiss var body: some View { Text(View 2) } }
Search results for
İOS 26 beta battery %1
258,419 results found
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Hey y'all, I'm reaching out because of an observed issue that I am experience both in sandbox and in production environments. This issue does not occur when using the Local StoreKit configurations. For context, my app only implements auto-renewing subscriptions. I'm trying to track with my own analytics every time a successful purchase is made, whether in the app or externally through Subscription Settings. I'm seeming too many events for just one purchase. My app is observing Transaction.updates. When I make a purchase with Product.purchase(_:), I successfully handle the purchase result. After about 10-20 seconds, I receive 2-3 new transactions in my Transaction.updates, even though I already handled and finished the Purchase result. This happens on production, where renewals are one week. This also happens in Sandbox, where at minimum renewals are every 3 minutes. The transactions do not differ in transactionId, revocationDate, expirationDate, nor isUpgraded... so not sure why they're comi
Thanks for your post as it seems very well written explaining the issue with the code in the end, but following your code as you just looking at a subscription is difficult to understand what is the cause of the issue. I’m not an expert in subscriptions but I wonder looking at your code if could be a Swift's concurrency issue as you are not setting the for await result in Transaction.updates ? I think the problem may b3e that your current handler, though running on @MainActor, processes transactions sequentially within that single loop. If processing takes even a few milliseconds, new updates can arrive and pile up behind the currently processing one, potentially leading to them being handled more than once if logic isn't airtight? I do believe by encapsulating your logic within an actor and using a set for deduplication, you create a predictable and thread-safe environment for handling StoreKit's asynchronous transaction updates, effectively solving the duplicate problem you've encountered. Somethin
Topic:
App & System Services
SubTopic:
StoreKit
Tags:
After upgrading to a new iPhone and restoring from an iCloud backup using the same Apple ID, I noticed an issue with Health app permissions. ■ What is happening On my previous iPhone, an app had permission to read step count data. After restoring to the new iPhone, the app still appears in the Health app under Sources. However, when I tap the app, the usual data type permission toggles (such as Steps) are not displayed at all. As a result, the app is unable to read step count data. ■ Additional details The app itself seems to be recognized as a Health data source. However, the data type permission screen is empty. No ON/OFF switches are shown. The backup was created on iOS 18, and the restore was performed on iOS 26. I have not yet confirmed whether this also happens with other iOS version combinations. ■ Questions Is it expected behavior that Health app permissions (per data type) are not restored via iCloud backup? Has anyone experienced a similar situation where the app
Just to share a bit more color, the error happens when Core Data + CloudKit schedules a new export task when another one is still in progress. In this situation, the scheduling will fail, and the system will drop the new task. In Core Data + CloudKit, however, I don't think this is an issue, because NSPersistentCloudKitContainer will schedule another export task next time when it detects something yet to export, which can happen some time after it detects that a previous export task failed, or that a new change on the Core Data store was made, and so the data should eventually be exported. You should be able to observe the behavior by capturing and analyzing a sysdiagnose. Best, —— Ziqiao Chen Worldwide Developer Relations.
Topic:
App & System Services
SubTopic:
iCloud & Data
Tags:
Hi everyone, On macOS 26.4 beta (with Xcode 26.4 beta), I’m seeing the following console messages in a brand new SwiftData + CloudKit template project (no custom logic added, fresh CloudKit container): updateTaskRequest called for a pre-running task com.apple.coredata.cloudkit.activity.export.F9EE783D-7521-4EC2-B42C-9FD1F29BA5C4 updateTaskRequest called for an already running/updated task com.apple.coredata.cloudkit.activity.export.F9EE783D-7521-4EC2-B42C-9FD1F29BA5C4 Error updating background task request: Error Domain=BGSystemTaskSchedulerErrorDomain Code=8 (null) These messages appear: When CloudKit is enabled Occasionally on app launch Often when bringing the app back to the foreground (Cmd-Tab away and back) Even with zero additional SwiftData logic They do not appear when CloudKit is disabled. This behavior is reproducible on a completely new project with a fresh CloudKit container. Questions: What exactly do these messages indicate? Is BGSystemTaskScheduler Code=8 expected in this con
The same code built in a regular Mac app (with UI) does get paired. The characteristic properties are [.read, .write, .notify, .notifyEncryptionRequired] The characteristic permissions are [.readEncryptionRequired, .writeEncryptionRequired] My service is primary. In the iOS app (central) I try to read the characteristic, but an error is reported: Error code: 5, Description: Authentication is insufficient.
Topic:
App & System Services
SubTopic:
Processes & Concurrency
Tags:
Service Management
Core Bluetooth
Apple is encouraging VPN apps on macOS to transition to Network Extension APIs, if they haven't done so yet, see: TN3165: Packet Filter is not API WWDC25: Filter and tunnel network traffic with NetworkExtension Using Network Extension is fine for VPN apps that are distributed via the Mac App Store. Users get one pop-up requesting permission to add VPN configurations and that's it. However, VPN apps that are distributed outside of the App Store (using Developer ID) cannot use Network Extension in the same way, such apps need to install a System Extension first (see TN3134: Network Extension provider deployment). Installing a System Extension is a very poor user experience. There is a pop-up informing about a system extension, which the user has to manually enable. The main button is OK, which only dismisses the pop-up and in such case there is little chance that the user will be able to find the correct place to enable the extension. The other button in that pop-up navigates to the correct screen in S
Topic:
App & System Services
SubTopic:
Networking
Tags:
Extensions
Network Extension
System Extensions
Developer ID
I’m experiencing something very similar. I paid the £79 enrollment fee three days ago (17th Feb) and received both the receipt and payment confirmation email. However, there is no visible indication in my account that the enrollment is under review or in progress — the portal does not show any status update. Because of this lack of status information, I mistakenly initiated a second enrollment, assuming the first one had not gone through. I later withdrew the second application and immediately received a confirmation email for that withdrawal. However, I never received any confirmation that my original enrollment is being processed — only the payment receipt. This is currently blocking my app release, as I’m ready to publish and have already launched on the Play Store. Has anyone found a reliable way to get clarity on enrollment status or escalate this? Any guidance would be greatly appreciated.
Topic:
Community
SubTopic:
Apple Developers
MacOS system settings allow the user to select one of a number of number formats. My app behaves differently depending on the format (taken from the system Locale), so I need to test every combination. Thus far I have been successful at creating Locale objects with various identifiers that map to the different formats, like: let westEuropeanLocale = Locale(identifier: en_DE) However, I can't find a locale that maps to using . as a decimal point, and space as a thousands separator, even though it's a standard option (3rd in this list): Any suggestions on how to create a test for this number format?
I imagine this is working as intended, not a bug. It’s the top of the keyboard. The documentation for UIInputView states The UIInputView class is designed to match the appearance of the standard system keyboard when used as an input view with a responder. You should avoid applying a background to the input view (blue in this example) to avoid covering up the system effects. This is how a “proper” input view + input accessory view looks on iOS 26:
Topic:
UI Frameworks
SubTopic:
UIKit
Tags:
When you set inputAccessoryView AND inputView you get unexpected system UI in between the two custom views If anyone has a workaround for this I'd love to hear it. See also: https://stackoverflow.com/questions/79818015/uitextfield-custom-inputaccessoryview-with-custom-inputview-in-ios-26 Red == inputAccessoryView Blue == inputView Glassy bit in between == bug? // // ViewController.swift // Custom Keyboard // // Created by Lewis Smith on 19/02/2026. // import UIKit class ViewController: UIViewController { let textField = { let textField = UITextField() textField.translatesAutoresizingMaskIntoConstraints = false textField.backgroundColor = .yellow let inputAccessoryView = UIView(frame: CGRect(x: 0, y: 0, width: .zero, height: 70)) inputAccessoryView.backgroundColor = .red let inputView = UIView(frame: CGRect(x: 0, y: 0, width: .zero, height: 70)) inputView.backgroundColor = .blue // When you set inputAccessoryView AND inputView you get unexpected UI inbetweeen the two custom views textField.in
It is not fixed on macOS 26.4 beta or Xcode 26.4 beta. I believe I have found a workaround however: Set this value in Terminal and then restart Xcode and run Update to latest package versions. defaults write com.apple.dt.Xcode IDEPackageSupportUseBuiltinSCM 1 I have verified this works for me with Xcode 26.3 and 26.4 on macOS 26.4 beta after previously having the issue above.
Topic:
Developer Tools & Services
SubTopic:
Xcode
Tags:
[quote='876733022, disinghal, /thread/811887?answerId=876733022#876733022, /profile/disinghal'] URL Session is calling a public endpoint. [/quote] Right, but you’ve set up your on-demand rules to say that everything generates demand. It’d be interesting to see what happens if you configure your on-demand rules to only generate demand what you load a URL that’s behind the VPN. I suspect it’ll work consistently, but if you find that’s not the case then that’d be an interesting datapoint. [quote='876733022, disinghal, /thread/811887?answerId=876733022#876733022, /profile/disinghal'] It happens intermittently. [/quote] Fair enough. But that doesn’t really contradict the position I explained above. You’ve set yourself up for failure and that you only fail in some cases. That’s a win, right? (-: Seriously though, I don’t think I’m going to be able to help you further here. You are clearly exploring the limits of what’s possible. If you want to make the case that this should work, I recommend that you do that direct
Topic:
App & System Services
SubTopic:
Networking
Tags:
This is not a very difficult API to use: let url: URL = … let verdict = await NEURLFilter.verdict(for: url) switch verdict { case .unknown: … you need to decide on a policy for this case … case .allow: … continue loading the URL … case .deny: … stop loading the URL … @unknown default: … you need to decide on a policy for this case … } Share and Enjoy — Quinn “The Eskimo!” @ Developer Technical Support @ Apple let myEmail = eskimo + 1 + @ + apple.com
Topic:
App & System Services
SubTopic:
Networking
Tags: