Post

Replies

Boosts

Views

Activity

Reply to How can I make NSToolbar on Catalyst check canPerformAction on UISplitViewController's secondary view controller instead of primary?
I've filed this as FB13888167, as requested in a WWDC 2024 lab. I was given a couple of workarounds, but they aren't working super well for me yet: Put the action validation and routing further up the responder chain, like the scene delegate. But even if my scene delegate inherits from UIResponder, it's not automatically in the responder chain. Even with tricks to insert it in the chain, I can't (yet) get it to work. Set an explicit target on the toolbar items. But I have menu items too, and the menu items might be handled by different floating windows in my app, and I'd rather not have to re-set the targets on all those menu items every time the active window changes.
Topic: UI Frameworks SubTopic: UIKit Tags:
Sep ’24
Reply to How can I integrate my own text changes into UITextView's undo manager?
Hello! Thanks for the reply. Just using insertText on UIKeyInput doesn't quite work for me, because I need to insert attributed strings. My full use case is implementing bulleted and numbered lists without using NSTextList (because I have to support OS versions before support for that), and selecting multiple lines and doing things like changing the indent level or removing list styling. The user taps one button and I have to add/remove/change list prefixes and change paragraph style attributes, and I want that to be undoable in one step. I have it set up so I can make those changes and undo and then replay it as I wish, but when I do it erases the undo manager stack.
Topic: UI Frameworks SubTopic: UIKit Tags:
Jun ’23
Reply to 0xdead10cc prevention
I spent a day experimenting with 0xdead100c issues in my app, and managed to figure out a couple of things by trial and error: It's triggered not only by holding a SQLite transaction during suspension, but also by holding an un-finalized prepared statement during suspension. So if you cache prepared statements, you need to flush and disable the cache when the app is suspended. You can reproduce it in debug on a device. It shows up in the console log as "Message from debugger: Terminated due to signal 9" I've filed FB12161496 for more clarity in documentation and tooling around this issue.
May ’23
Reply to How can I make NSToolbar on Catalyst check canPerformAction on UISplitViewController's secondary view controller instead of primary?
I've filed this as FB13888167, as requested in a WWDC 2024 lab. I was given a couple of workarounds, but they aren't working super well for me yet: Put the action validation and routing further up the responder chain, like the scene delegate. But even if my scene delegate inherits from UIResponder, it's not automatically in the responder chain. Even with tricks to insert it in the chain, I can't (yet) get it to work. Set an explicit target on the toolbar items. But I have menu items too, and the menu items might be handled by different floating windows in my app, and I'd rather not have to re-set the targets on all those menu items every time the active window changes.
Topic: UI Frameworks SubTopic: UIKit Tags:
Replies
Boosts
Views
Activity
Sep ’24
Reply to How can I integrate my own text changes into UITextView's undo manager?
Hello! Thanks for the reply. Just using insertText on UIKeyInput doesn't quite work for me, because I need to insert attributed strings. My full use case is implementing bulleted and numbered lists without using NSTextList (because I have to support OS versions before support for that), and selecting multiple lines and doing things like changing the indent level or removing list styling. The user taps one button and I have to add/remove/change list prefixes and change paragraph style attributes, and I want that to be undoable in one step. I have it set up so I can make those changes and undo and then replay it as I wish, but when I do it erases the undo manager stack.
Topic: UI Frameworks SubTopic: UIKit Tags:
Replies
Boosts
Views
Activity
Jun ’23
Reply to 0xdead10cc prevention
I spent a day experimenting with 0xdead100c issues in my app, and managed to figure out a couple of things by trial and error: It's triggered not only by holding a SQLite transaction during suspension, but also by holding an un-finalized prepared statement during suspension. So if you cache prepared statements, you need to flush and disable the cache when the app is suspended. You can reproduce it in debug on a device. It shows up in the console log as "Message from debugger: Terminated due to signal 9" I've filed FB12161496 for more clarity in documentation and tooling around this issue.
Replies
Boosts
Views
Activity
May ’23