Post

Replies

Boosts

Views

Activity

Reply to How to add Paste button in UIMenu such that the system "allow app to paste" prompt does not appear
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:
3d
Reply to When you set inputAccessoryView AND inputView you get unexpected system UI in between the two custom views
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:
Feb ’26
Reply to Activating a Container App from a Custom Keyboard Extension to Enable Continuous Voice Input While Preserving the Original Typing Context
@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:
Jan ’26
Reply to BGContinuedProcessingTask register block not called, submit does not throw an error
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.
Dec ’25
Reply to BGContinuedProcessingTask register block not called, submit does not throw an error
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.
Dec ’25
Reply to Cannot submit apps with Xcode 26.2 RC
I installed the RC (replacing 26.1), tested my app, and went to create a release for an update that happens to need to be released pretty quickly. I recall from previous experience RC builds could submit apps to the App Store so figured I wouldn’t run into any problems. Now I’m blocked. I could go download Xcode 26.1 and redownload the iOS 26.1 Simulator and retest my app with that SDK version but that’s a lot of wasted time/resources only to release the update on a very soon to be out of date SDK. :/ Do you expect this RC build to be accepted in the near future?
Dec ’25
Reply to RequestReviewAction never triggering rating dialog
If you’re testing in TestFlight, note the documentation states it won’t appear. When your app calls this method while it’s in development mode, StoreKit always displays the rating and review request view, so you can test the user interface and experience. However, this method has no effect in apps that you distribute for beta testing using TestFlight. Do also be mindful of this note Because this method may not present an alert, don’t call requestReview() or requestReview(in:) in response to a button tap or other user action.
Dec ’25
Reply to BGContinuedProcessingTask register block not called, submit does not throw an error
First off, this shouldn't REALLY happen. Generally speaking, any work you're tying to BGContinuedProcessingTask should take at LEAST 20-30s to complete; otherwise, you'd just use UIApplication.beginBackgroundTask(...) so you can always finish the work. However, IF it were to happen, it can just immediately complete the task. My app's use case could take as short as 1 second or as long as thousands of seconds. It's a photo editing app where the user could select for example 1 photo or 1,000 photos to process. Even with 1 photo it could take for example 20 seconds to download the full quality photo from iCloud before it can be edited, so it's unpredictable how long it will take even though the number of photos is known upfront. I'll work to get a sysdiagnose to add to the bug report, after that I'll try to rework the approach to start processing and then submit the request. Thanks for all your help Kevin!
Nov ’25
Reply to How to add Paste button in UIMenu such that the system "allow app to paste" prompt does not appear
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
3d
Reply to How to add Paste button in UIMenu such that the system "allow app to paste" prompt does not appear
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
1w
Reply to When you set inputAccessoryView AND inputView you get unexpected system UI in between the two custom views
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
Feb ’26
Reply to String Catalog stops updating upon changing source code
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.
Replies
Boosts
Views
Activity
Feb ’26
Reply to PHImageManager.requestImageDataAndOrientation callback is never called
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
Replies
Boosts
Views
Activity
Jan ’26
Reply to iPadOS 26.3 Beta 1 RequiresFullScreen Deprecation
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
Jan ’26
Reply to Activating a Container App from a Custom Keyboard Extension to Enable Continuous Voice Input While Preserving the Original Typing Context
@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
Jan ’26
Reply to BGContinuedProcessingTask register block not called, submit does not throw an error
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.
Replies
Boosts
Views
Activity
Dec ’25
Reply to BGContinuedProcessingTask register block not called, submit does not throw an error
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.
Replies
Boosts
Views
Activity
Dec ’25
Reply to App Store Connect release notes RSS feed
FB21295012: Provide RSS feed for App Store Connect Release Notes
Replies
Boosts
Views
Activity
Dec ’25
Reply to App Store Connect release notes RSS feed
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.
Replies
Boosts
Views
Activity
Dec ’25
Reply to Cannot submit apps with Xcode 26.2 RC
I installed the RC (replacing 26.1), tested my app, and went to create a release for an update that happens to need to be released pretty quickly. I recall from previous experience RC builds could submit apps to the App Store so figured I wouldn’t run into any problems. Now I’m blocked. I could go download Xcode 26.1 and redownload the iOS 26.1 Simulator and retest my app with that SDK version but that’s a lot of wasted time/resources only to release the update on a very soon to be out of date SDK. :/ Do you expect this RC build to be accepted in the near future?
Replies
Boosts
Views
Activity
Dec ’25
Reply to RequestReviewAction never triggering rating dialog
If you’re testing in TestFlight, note the documentation states it won’t appear. When your app calls this method while it’s in development mode, StoreKit always displays the rating and review request view, so you can test the user interface and experience. However, this method has no effect in apps that you distribute for beta testing using TestFlight. Do also be mindful of this note Because this method may not present an alert, don’t call requestReview() or requestReview(in:) in response to a button tap or other user action.
Replies
Boosts
Views
Activity
Dec ’25
Reply to How to add view below navigation bar to extend scroll edge effect
That does work thanks! Adding that to the container view of the segmented control seamlessly blends the scroll edge effect across both the navigation bar and custom "bar."
Topic: UI Frameworks SubTopic: UIKit Tags:
Replies
Boosts
Views
Activity
Nov ’25
Reply to BGContinuedProcessingTask register block not called, submit does not throw an error
First off, this shouldn't REALLY happen. Generally speaking, any work you're tying to BGContinuedProcessingTask should take at LEAST 20-30s to complete; otherwise, you'd just use UIApplication.beginBackgroundTask(...) so you can always finish the work. However, IF it were to happen, it can just immediately complete the task. My app's use case could take as short as 1 second or as long as thousands of seconds. It's a photo editing app where the user could select for example 1 photo or 1,000 photos to process. Even with 1 photo it could take for example 20 seconds to download the full quality photo from iCloud before it can be edited, so it's unpredictable how long it will take even though the number of photos is known upfront. I'll work to get a sysdiagnose to add to the bug report, after that I'll try to rework the approach to start processing and then submit the request. Thanks for all your help Kevin!
Replies
Boosts
Views
Activity
Nov ’25