Post
Replies
Boosts
Views
Activity
I hope to see in-app purchase support added as well. I have a free app with a one-time non-consumable IAP to unlock all functionality. Several companies have reached out wondering how they can purchase it for their managed employee devices. Unfortunate to hear only subscriptions will be supported as I have no plans to require recurring payments from my customers, and I definitely do not want to maintain two different apps one paid upfront. FB10277182
Topic:
General
SubTopic:
Business & Education Q&A
I heard at one point AppShortcutParameterPresentation should address this, but was never able to get it to update. Is that incorrect?
Topic:
App Intents
SubTopic:
App Intents & Siri Q&A
Yes, it is resolved in iOS 26.5.
Release Notes:
Fixed: Transaction.currentEntitlements might be empty if a customer has an active subscription when the device’s system calendar is set to a non-Gregorian format. (173415174)
Topic:
App & System Services
SubTopic:
StoreKit
Tags:
Thanks @DTS Engineer! I can confirm it does work when tapping (using the latest iOS beta), and not in the scenarios you outlined. I swear I've seen the prompt appear upon simply tapping the action but I cannot replicate now. I did file feedback (FB22485164) requesting a pasteboard constant be added to UIAction.Identifier to get an action titled Clipboard to fit in my menu UI. Paste (or New from Clipboard) doesn't thrive here:
Topic:
UI Frameworks
SubTopic:
UIKit
Tags:
Hi @DTS Engineer! In the code above that uses UIAction.Identifier.paste, the paste prompt is not suppressed when I tap Add and then tap Paste. Is that unexpected behavior or have I misunderstood in what scenario it would be suppressed?
Topic:
UI Frameworks
SubTopic:
UIKit
Tags:
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:
Thank you @Developer Tools Engineer, that explains it. In our project the JSON was modified to remove the extractionState key/value and change state in en from new to translated. The issue does not replicate in a new project. It wasn't intuitive to us the en string state should stay new.
Topic:
Developer Tools & Services
SubTopic:
Xcode
Tags:
It seems a few PhotoKit APIs have bugs where the completion handler is never invoked. I filed FB20407528: PHLivePhotoEditingContext.saveLivePhoto's completionHandler is never called for some Live Photos
Topic:
Media Technologies
SubTopic:
Photos & Camera
Tags:
we are current trying to get ahead of this while 26.3 is still in beta as this would affect our customers deeply
What’s deprecated in iOS 26.3 - what‘s changing in 26.3 that’s not already the case in 26.0 and .1 and .2?
Topic:
UI Frameworks
SubTopic:
General
Tags:
@DTS Engineer thanks for the info! On #2, calling open(_:options:completionHandler:) when Allow Full Access is not turned on results in an error (only as of iOS 26, it worked in iOS 18):
unable to make sandbox extension: 2
Failed to open URL : Error Domain=NSOSStatusErrorDomain Code=-54 "(null)" UserInfo={_LSFile=LSOpenOperation.mm, _LSLine=835, _LSFunction=_LSIsRequestAllowed}
Is there a solution to open the app without forcing the user to turn on full access before they can use the keyboard?
Topic:
App & System Services
SubTopic:
General
Tags:
duet doesn't think your app is the foreground
Fascinating! I can't think of any reason why, it's a straightforward implementation. As an aside, when this error occurs (the app isn't in foreground), BGTaskScheduler.shared.submit should throw an error right (but didn't here).
Do you know what the user is doing when the trigger this? More specifically, is your app presenting the mail composer?
It does but not in this flow. 2 seconds after the launch handler is not invoked nor an error thrown, I present an alert to inform the user an unexpected error occurred and there's a button to contact support. The user tapped that button to present mail composer ~30 seconds after the issue occurred according to default 2025-12-13 15:55:04.491796 +0000 AppName <MFMailComposeRemoteViewController: 0x124e7ac00>: Requesting remote view controller.
The flow that triggers it is:
User taps a button in the view controller's toolbar (Liquid Glass bar button item) to start processing
App calls BGTaskScheduler.shared.register(forTaskWithIdentifier: taskIdentifier, using: .main) { @Sendable [weak self] task in
App calls BGTaskScheduler.shared.submit(request)
The launch handler is not invoked nor is an error thrown after 2 seconds so my logic is invoked to show the alert that tells the user to contact support
It is also possible to get to 2 from an action in a UIAlertController that appears after step 1 and returns early if the app needs to ask the user how to process the requested items. In that scenario 1 is invoked, it returns early, shows the alert, user taps an action, and the function is invoked again and the alert won't appear that time. So the app can request background continued processing while an alert dismissal is animating. That did not happen in this case but figured I'd note it for completeness.
Topic:
App & System Services
SubTopic:
Processes & Concurrency
Tags:
Hey @DTS Engineer! I got a sysdiagnose and the logs are interesting.
The user tapped the button to start processing and the launch handler was not invoked nor was an error thrown after waiting 2 seconds. Relevant logs I see:
default 2025-12-13 15:54:32.261450 +0000 AppName Daemon connection established with BGTaskScheduler client
default 2025-12-13 15:54:32.261461 +0000 dasd Queried for device resource capabilities
default 2025-12-13 15:54:32.261511 +0000 dasd Device Background GPU signals: supportsGraphicsSet: YES, hasSwap: NO
default 2025-12-13 15:54:32.261553 +0000 AppName submitTaskRequest: <BGContinuedProcessingTaskRequest: com.jordanhipwell.datestamp.stamp_task.787334072261, (title: Preparing to Stamp…, subtitle: 1 Photo, resources: Default, submissionStrategy: Fail)>
default 2025-12-13 15:54:32.261606 +0000 AppName Submitting task request activity: <private>
error 2025-12-13 15:54:32.262042 +0000 dasd bgContinuedProcessing-com.jordanhipwell.datestamp.stamp_task.787334072261: Foregrounded apps (<private>) don't include expected identifier: <private>
This is from my Info.plist:
<key>BGTaskSchedulerPermittedIdentifiers</key>
<array>
<string>$(PRODUCT_BUNDLE_IDENTIFIER).stamp_task.*</string>
</array>
And PRODUCT_BUNDLE_IDENTIFIER in the project is com.jordanhipwell.datestamp.
I've uploaded the full sysdiagnose to FB21052216.
Topic:
App & System Services
SubTopic:
Processes & Concurrency
Tags:
FB21295012: Provide RSS feed for App Store Connect Release Notes
Topic:
Developer Tools & Services
SubTopic:
General
Tags:
Hey Quinn, no unfortunately, the developer news and upcoming requirements don't include the App Store Connect release notes. For example the TestFlight update posted November 19 is not in any of those feeds.
Topic:
Developer Tools & Services
SubTopic:
General
Tags:
- Replies
- Boosts
- Views
- Activity
I hope to see in-app purchase support added as well. I have a free app with a one-time non-consumable IAP to unlock all functionality. Several companies have reached out wondering how they can purchase it for their managed employee devices. Unfortunate to hear only subscriptions will be supported as I have no plans to require recurring payments from my customers, and I definitely do not want to maintain two different apps one paid upfront. FB10277182
Topic:
General
SubTopic:
Business & Education Q&A
- Replies
- Boosts
- Views
- Activity
I heard at one point AppShortcutParameterPresentation should address this, but was never able to get it to update. Is that incorrect?
Topic:
App Intents
SubTopic:
App Intents & Siri Q&A
- Replies
- Boosts
- Views
- Activity
Yes, it is resolved in iOS 26.5.
Release Notes:
Fixed: Transaction.currentEntitlements might be empty if a customer has an active subscription when the device’s system calendar is set to a non-Gregorian format. (173415174)
Topic:
App & System Services
SubTopic:
StoreKit
Tags:
- Replies
- Boosts
- Views
- Activity
Thanks @DTS Engineer! I can confirm it does work when tapping (using the latest iOS beta), and not in the scenarios you outlined. I swear I've seen the prompt appear upon simply tapping the action but I cannot replicate now. I did file feedback (FB22485164) requesting a pasteboard constant be added to UIAction.Identifier to get an action titled Clipboard to fit in my menu UI. Paste (or New from Clipboard) doesn't thrive here:
Topic:
UI Frameworks
SubTopic:
UIKit
Tags:
- Replies
- Boosts
- Views
- Activity
Hi @DTS Engineer! In the code above that uses UIAction.Identifier.paste, the paste prompt is not suppressed when I tap Add and then tap Paste. Is that unexpected behavior or have I misunderstood in what scenario it would be suppressed?
Topic:
UI Frameworks
SubTopic:
UIKit
Tags:
- Replies
- Boosts
- Views
- Activity
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:
- Replies
- Boosts
- Views
- Activity
Thank you @Developer Tools Engineer, that explains it. In our project the JSON was modified to remove the extractionState key/value and change state in en from new to translated. The issue does not replicate in a new project. It wasn't intuitive to us the en string state should stay new.
Topic:
Developer Tools & Services
SubTopic:
Xcode
Tags:
- Replies
- Boosts
- Views
- Activity
It seems a few PhotoKit APIs have bugs where the completion handler is never invoked. I filed FB20407528: PHLivePhotoEditingContext.saveLivePhoto's completionHandler is never called for some Live Photos
Topic:
Media Technologies
SubTopic:
Photos & Camera
Tags:
- Replies
- Boosts
- Views
- Activity
we are current trying to get ahead of this while 26.3 is still in beta as this would affect our customers deeply
What’s deprecated in iOS 26.3 - what‘s changing in 26.3 that’s not already the case in 26.0 and .1 and .2?
Topic:
UI Frameworks
SubTopic:
General
Tags:
- Replies
- Boosts
- Views
- Activity
@DTS Engineer thanks for the info! On #2, calling open(_:options:completionHandler:) when Allow Full Access is not turned on results in an error (only as of iOS 26, it worked in iOS 18):
unable to make sandbox extension: 2
Failed to open URL : Error Domain=NSOSStatusErrorDomain Code=-54 "(null)" UserInfo={_LSFile=LSOpenOperation.mm, _LSLine=835, _LSFunction=_LSIsRequestAllowed}
Is there a solution to open the app without forcing the user to turn on full access before they can use the keyboard?
Topic:
App & System Services
SubTopic:
General
Tags:
- Replies
- Boosts
- Views
- Activity
duet doesn't think your app is the foreground
Fascinating! I can't think of any reason why, it's a straightforward implementation. As an aside, when this error occurs (the app isn't in foreground), BGTaskScheduler.shared.submit should throw an error right (but didn't here).
Do you know what the user is doing when the trigger this? More specifically, is your app presenting the mail composer?
It does but not in this flow. 2 seconds after the launch handler is not invoked nor an error thrown, I present an alert to inform the user an unexpected error occurred and there's a button to contact support. The user tapped that button to present mail composer ~30 seconds after the issue occurred according to default 2025-12-13 15:55:04.491796 +0000 AppName <MFMailComposeRemoteViewController: 0x124e7ac00>: Requesting remote view controller.
The flow that triggers it is:
User taps a button in the view controller's toolbar (Liquid Glass bar button item) to start processing
App calls BGTaskScheduler.shared.register(forTaskWithIdentifier: taskIdentifier, using: .main) { @Sendable [weak self] task in
App calls BGTaskScheduler.shared.submit(request)
The launch handler is not invoked nor is an error thrown after 2 seconds so my logic is invoked to show the alert that tells the user to contact support
It is also possible to get to 2 from an action in a UIAlertController that appears after step 1 and returns early if the app needs to ask the user how to process the requested items. In that scenario 1 is invoked, it returns early, shows the alert, user taps an action, and the function is invoked again and the alert won't appear that time. So the app can request background continued processing while an alert dismissal is animating. That did not happen in this case but figured I'd note it for completeness.
Topic:
App & System Services
SubTopic:
Processes & Concurrency
Tags:
- Replies
- Boosts
- Views
- Activity
Hey @DTS Engineer! I got a sysdiagnose and the logs are interesting.
The user tapped the button to start processing and the launch handler was not invoked nor was an error thrown after waiting 2 seconds. Relevant logs I see:
default 2025-12-13 15:54:32.261450 +0000 AppName Daemon connection established with BGTaskScheduler client
default 2025-12-13 15:54:32.261461 +0000 dasd Queried for device resource capabilities
default 2025-12-13 15:54:32.261511 +0000 dasd Device Background GPU signals: supportsGraphicsSet: YES, hasSwap: NO
default 2025-12-13 15:54:32.261553 +0000 AppName submitTaskRequest: <BGContinuedProcessingTaskRequest: com.jordanhipwell.datestamp.stamp_task.787334072261, (title: Preparing to Stamp…, subtitle: 1 Photo, resources: Default, submissionStrategy: Fail)>
default 2025-12-13 15:54:32.261606 +0000 AppName Submitting task request activity: <private>
error 2025-12-13 15:54:32.262042 +0000 dasd bgContinuedProcessing-com.jordanhipwell.datestamp.stamp_task.787334072261: Foregrounded apps (<private>) don't include expected identifier: <private>
This is from my Info.plist:
<key>BGTaskSchedulerPermittedIdentifiers</key>
<array>
<string>$(PRODUCT_BUNDLE_IDENTIFIER).stamp_task.*</string>
</array>
And PRODUCT_BUNDLE_IDENTIFIER in the project is com.jordanhipwell.datestamp.
I've uploaded the full sysdiagnose to FB21052216.
Topic:
App & System Services
SubTopic:
Processes & Concurrency
Tags:
- Replies
- Boosts
- Views
- Activity
FB21295012: Provide RSS feed for App Store Connect Release Notes
Topic:
Developer Tools & Services
SubTopic:
General
Tags:
- Replies
- Boosts
- Views
- Activity
Hey Quinn, no unfortunately, the developer news and upcoming requirements don't include the App Store Connect release notes. For example the TestFlight update posted November 19 is not in any of those feeds.
Topic:
Developer Tools & Services
SubTopic:
General
Tags:
- Replies
- Boosts
- Views
- Activity