We are having an issue with our app after upgrading to WatchOS 26. After some time our complication disappears from the watch face. If you go to add it back, our app shows up with an empty icon placeholder and you are unable to tap it to add it back. Sometimes restarting the watch will bring it back, sometimes it does not. Has anyone experienced this? What should we be looking at to figure out why this is happening? Or could this be a bug in WatchOS 26?
General
RSS for tagExplore the various UI frameworks available for building app interfaces. Discuss the use cases for different frameworks, share best practices, and get help with specific framework-related questions.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Hello,
I'm trying to build a MailKit extension that parses PDFs.
My extension initially gets the call for decide action, I request invokeAgain.
func decideAction(for message: MEMessage, completionHandler: @escaping (MEMessageActionDecision?) -> Void) {
guard let data = message.rawData else {
completionHandler(MEMessageActionDecision.invokeAgainWithBody)
return
}
let content = String(data: data, encoding: .utf8)
print(content)
When I try to reconstruct the PDF attached:
I find the headers, and the text content, but I don't see the base64 content of the PDF file.
Is there something I'm missing here?
Thanks in advance
It seems to me that NSStagedMigrationManager has algorithmic issues. It doesn't perform staged migration, if all its stages are NSLightweightMigrationStage.
You can try it yourself. There is a test project with three model versions V1, V2, V3, V4. Migrating V1->V2 is compatible with lightweight migration, V2->V3, V3->V4 is also compatible, but V1->V3 is not. I have following output:
Migrating V1->V2, error: nil
Migrating V2->V3, error: nil
Migrating V3->V4, error: nil
Migrating V1->V3, no manager, error: Optional("Persistent store migration failed, missing mapping model.")
Migrating V1->V3, lightweight[1, 2, 3], error: Optional("Persistent store migration failed, missing mapping model.")
Migrating V1->V3, lightweight[1]->lightweight[2]->lightweight[3], error: Optional("Persistent store migration failed, missing mapping model.")
Migrating V1->V3, custom[1->2]->lightweight[3], error: nil
Migrating V1->V3, lightweight[1]->custom[2->3], error: nil
Migrating V1->V3, custom[1->2]->custom[2->3], error: nil
Migrating V1->V4, error: Optional("Persistent store migration failed, missing mapping model.")
Migrating V2->V4, error: nil
Migrating V1->V4, custom[1->2]->lightweight[3, 4], error: nil
Migrating V1->V4, lightweight[3, 4]->custom[1->2], error: Optional("A store file cannot be migrated backwards with staged migration.")
Migrating V1->V4, lightweight[1, 2]->lightweight[3, 4], error: Optional("Persistent store migration failed, missing mapping model.")
Migrating V1->V4, lightweight[1]->custom[2->3]->lightweight[4], error: nil
Migrating V1->V4, lightweight[1,4]->custom[2->3], error: nil
Migrating V1->V4, custom[2->3]->lightweight[1,4], error: Optional("Persistent store migration failed, missing mapping model.")
I think that staged migration should satisfy the following rules for two consecutive stages:
Any version of lightweight stage to any version of lightweight stage;
Any version of lightweight stage to current version of custom stage;
Next version of custom stage to any version of lightweight stage;
Next version of custom stage to current version of custom stage.
However, rule 1 doesn't work, because migration manager skips intermediate versions if they are inside lightweight stages, even different ones.
Note that lightweight[3, 4]->custom[1->2] doesn't work, lightweight[1,4]->custom[2->3] works, but custom[2->3]->lightweight[1,4] doesn't work again.
Would like to hear your opinion on that, especially, from Core Data team, if possible.
Thanks!
In the iOS Photos app there is a caption field the user can write to. How can you write to this value from Swift when creating a photo?
I see apps that do this, but there doesn't seem to be any official way to do this using the Photo library through PHAssetCreationRequest or PHAssetResourceCreationOptions or setting EXIF values, I tried settings a bunch of values there including IPTC values but nothing appears in the caption field in the iOS photos app.
There must be some way to do it since I see other apps setting that value somehow after capturing a photo.
Hi,
I develop a 3D molecular editor, so the Writing Tools and AutoFill menu items don't make much sense. Is it possible to hide these menu items in my app? In the case of dictation and the character palette, I can do this:
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"NSDisabledDictationMenuItem"];
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"NSDisabledCharacterPaletteMenuItem"];
Is there some similar way to remove the Writing Tools and AutoFill menu items for apps in which they don't make sense?
Topic:
UI Frameworks
SubTopic:
General
I'm updating some of the views for a Live Activity, now that CarPlay can display Live Activities in iOS 26. My Activity is updated only with local updates from the iPhone (no push notifications), displaying a user's blood glucose.
The activity updates fine in both CarPlay and in the Apple Watch Smart Stack, but in CarPlay, the previous values are not cleared when the new values are displayed, resulting in superimposed text and making it essentially unreadable. This only happens when the iPhone screen is off. As soon as the phone screen is woken up, even if the phone is not unlocked, the old values disappear and the display looks fine.
I can't find anything in the API about clearing a display, so I'm wondering if this is a bug (especially since it clears when waking the phone screen). I'm running iOS 26.0.1 on my test phone.
Thanks for any thoughts!
Hello,
I’ve created a custom SDK from my iOS application to be integrated into another app. The SDK depends on Google Maps and payment gateway libraries.
If I exclude these third-party libraries from the SDK, I encounter multiple errors. However, if I include them, the host app throws errors due to duplicate dependencies, since it already integrates the same libraries.
I understand that third-party dependencies can be downloaded separately by adding them through Swift Package Manager (SPM). However, the issue is that if I exclude these dependencies from my SDK, I get compilation errors wherever I’ve used import GoogleMaps or similar statements in my code.
Could you please guide me — or share documentation — on the correct approach to create an SDK that excludes third-party libraries?
Hello!
My question is about 1) if we can use any and or all accessibility features within a sandboxed app and 2) what steps we need to take to do so.
Using accessibility permissions, my app was working fine in Xcode. It used NSEvent.addGlobalMonitorForEvents and localMoniter, along with CGEvent.tapCreate. However, after downloading the same app from the App Store, the code was not working. I believe this was due to differences in how permissions for accessibility are managed in Xcode compared to production.
Is it possible for my app to get access to all accessibility features, while being distributed on the App Store though? Do I need to add / request any special entitlements like com.apple.security.accessibility?
Thanks so much for the help. I have done a lot of research on this online but found some conflicting information, so wanted to post here for a clear answer.
We're seeing a high velocity crash with our users in background tasks in an internal Apple Framework. It seems to have started in iOS 17/18, but has increased heavily in iOS 26+.
EXC_BREAKPOINT ·
0
BackBoardServices
-[BKSHIDEventDeliveryManager _initWithConnectionFactory:forTesting:]
1
BackBoardServices
___44+[BKSHIDEventDeliveryManager sharedInstance]_block_invoke
2
libdispatch.dylib
__dispatch_client_callout
3
libdispatch.dylib
__dispatch_once_callout
4
BackBoardServices
+[BKSHIDEventDeliveryManager sharedInstance]
5
UIKitCore
_stateMachineSpec_block_invoke_3
6
UIKitCore
_handleEvent
7
UIKitCore
-[_UIEventDeferringManager _processEventDeferringActions:actionsCount:inScope:forDeferringToken:environments:target:addingRecreationReason:removingRecreationReason:forReason:]
8
UIKitCore
-[_UIEventDeferringManager _sceneWillInvalidate:]
9
UIKitCore
-[UIScene _invalidate]
10
UIKitCore
-[UIWindowScene _invalidate]
11
UIKitCore
-[UIApplication workspace:willDestroyScene:withTransitionContext:completion:]
12
UIKitCore
-[UIApplicationSceneClientAgent scene:willInvalidateWithEvent:completion:]
13
FrontBoardServices
-[FBSScene _callOutQueue_willDestroyWithTransitionContext:completion:]
14
FrontBoardServices
___84-[FBSWorkspaceScenesClient _queue_invalidateScene:withTransitionContext:completion:]_block_invoke_3
15
FrontBoardServices
-[FBSWorkspace _calloutQueue_executeCalloutFromSource:withBlock:]
16
libdispatch.dylib
__dispatch_client_callout
17
libdispatch.dylib
__dispatch_block_invoke_direct
18
BoardServices
___BSSERVICEMAINRUNLOOPQUEUE_IS_CALLING_OUT_TO_A_BLOCK__
19
BoardServices
_BSServiceMainRunLoopSourceHandler
20
CoreFoundation
___CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__
21
CoreFoundation
___CFRunLoopDoSource0
22
CoreFoundation
___CFRunLoopDoSources0
23
CoreFoundation
___CFRunLoopRun
24
CoreFoundation
__CFRunLoopRunSpecificWithOptions
25
GraphicsServices
_GSEventRunModal
26
UIKitCore
-[UIApplication _run]
27
UIKitCore
_UIApplicationMain
28
Aura
main.m
main
29
dyld
start
Sidebars for mac Catalyst apps running with UIDesignRequiresCompatibility flag render their active items with a white bg tint – resulting in labels and icons being not visible.
mac OS Tahoe 26.1 Beta 3 (25B5062e)
FB20765036
Example (Apple Developer App):
After building an app in Xcode (I use expo and react native) I got error: EXDevLauncher/ExpoDevLauncherAppDelegateSubscriber.swift:8: Fatal error: Cannot find the keyWindow. Make sure to call window.makeKeyAndVisible().
I have never got it before. It appeard first time after I had upgraded expo and react versions.
Topic:
UI Frameworks
SubTopic:
General
I'd like to investigate creating a safety feature for Type 1 Diabetics driving a car. Allowing HealthKit glucose data (read from a Dexcom G7 or similar) to be displayed as part of the CarPlay UI background or show an icon/button with the number visible. I'd also like to include a warning system for glucose low's that alerts the driver audibly. Has anyone looked into that before?
We're building a UGC AR app and are leveraging App Clips to distribute AR experiences without app download.
Since earlier this week, many of our users are reporting sharing experiences as App Clip doesn't work anymore. They are getting the message "AppClip unavailable" on a little card. We attached a QR code to try it yourself and a link to a different experience. We tried with multiple experiences and on multiple devices already.
https://scenery.app/experience/1C925FDE-E49A-489B-BA14-58A4E532E645
Interestingly, we can't pinpoint the issue to an exact device or OS.
We tested on many devices and on most, the AppClip is being displayed as unavailable, stating "App Clip unavailable", whereas it works on a few. It all worked fine last week (before September 12th).
iPhone 13 Pro Max, iOS26: works
iPhone SE, iOS 17: works
iPhone 16 Pro, iOS 26: doesn't work
iPhone 12 Pro Max, iOS 26: doesn't work
iPhone 12 mini, iOS 18: does not work
iPad 9th gen, iOS 26: doesn't work
Please help. Our users are very dissatisfied as they expect this to work and it's a crucial feature.
We already filed a radar via Feedback assistant:
FB20303890
Hi!
So while Date is supported for @Parameter in an App Intent, I just discovered that Xcode will not let me use use it in a parametrized App Shortcut phrase.
In my case, I would like to give the option to say "today", tomorrow", or "day after tomorrow" for the date. Am I missing something? Any hints on the best way to approach this?
Hi,
I'm trying to toggle the visibility of an overlay by using hovering. However, I found onHover() and onContinuousHover() don't work on visionOS. Is it intended?
Is there an solution for my case?
Hi everyone!
I’m trying to implement a cinematic video shooting mode.
While following the guide “Capture cinematic video in your app”,
I added the following code to obtain metadata information:
metadataOutput.metadataObjectTypes = metadataOutput.requiredMetadataObjectTypesForCinematicVideoCapture
However, the following error appears in the console:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'When Cinematic Video is enabled, AVCaptureMetadataOutput's metadataObjectTypes must match requiredMetadataObjectTypesForCinematicVideoCapture.'
How can I resolve this issue?
CPListTemplate
item.playing = YES;
item.playingIndicatorLocation = CPListItemPlayingIndicatorLocationTrailing;
iOS 26: The playing indicator shows only a static icon when initially displayed in the list. The animation requires the cell to be scrolled off-screen and back into view to render correctly.
Hello,
I developed an Open Source Apple Virtualization + QEMU VM manager for macOS, called MacMulator (GitHub repo here).
In my app I have a UITableView containing a list of VMs, and I let the user delete or configure a VM through a 2 finger swipe on the corresponding table row.
To do this, I added 2 NSTableViewRowActions to my NSTableView, through this code:
func tableView(_: NSTableView, rowActionsForRow _: Int, edge _: NSTableView.RowActionEdge) -> [NSTableViewRowAction] {
[
NSTableViewRowAction(style: NSTableViewRowAction.Style.destructive, title: NSLocalizedString("VirtualMachineListViewController.delete", comment: ""), handler: { _, index in self.deleteVirtualMachine(index) }),
NSTableViewRowAction(style: NSTableViewRowAction.Style.regular, title: NSLocalizedString("VirtualMachineListViewController.edit", comment: ""), handler: { _, index in self.editVirtualMachine(index) }),
]
}
This actions work fine, but on macOS Tahoe the UI does not draw the background of the 2 buttons, despite the style. The same build in macOS Sequoia work fine (See pictures below).
Am I missing something? I did not find and change related to this feature in Tahoe documentation.
My UI is not built with SwiftUI, but with storyboards. I don't know if this is relevant.
Thanks to whoever will help.
Topic:
UI Frameworks
SubTopic:
General
Dear Apple macOS Team,
I am writing to report an issue I encountered while developing an Electron-based game on macOS that uses the Chromium engine. When a custom cursor is used within the web view, if the cursor’s outline intersects with the top edge of the screen, it unexpectedly reverts to the default system cursor.
This issue significantly affects gameplay experience for some applications. In our case, we require a full-screen immersive gaming experience, where custom cursors are essential for maintaining both immersion and the artistic style of the game. However, this limitation causes the cursor to suddenly change when touching the top boundary. The problem is especially noticeable with large custom cursors, as macOS’s default cursor is relatively small, making the switch even more abrupt and breaking player immersion.
I sincerely hope this issue can be addressed, as it currently occurs in both Unity and Electron-based games on macOS.
Thank you for considering this feedback.
Sincerely,
lw404
Topic:
UI Frameworks
SubTopic:
General
Hi,
I have a UIToolbar at the bottom of my screen. The UIToolbar is made of UIBarButtonItems. At some point, I change the status of some buttons to hidden:
button.isHidden = true
This works: the buttons become invisible.
At a later point in the process, I turn the buttons visible again:
button.isHidden = false
This did work on iOS 18, and does not work with the iOS 26 SDK: the buttons remain hidden, even though the property has been set to false.
Am I doing it wrong? Is there anything I can do to fix this?
Topic:
UI Frameworks
SubTopic:
General