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.
Post
Replies
Boosts
Views
Activity
I've posted sample code here: https://github.com/tomhamming/TextViewUndo
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.
I realized that 0xdead100c only happens when dealing with files in a shared folder like an App Group container. The reason I never saw it was that the variant of my app I use from TestFlight doesn't use an App Group folder. The users who were reporting the issue are on a variant of the app that does use App Groups.
With a build that uses App Groups, I was able to reproduce what appears to be 0xdead100c in debug on a device by either beginning a transaction or preparing and not finalizing a statement on a SQLite database before suspending the app.
I've filed FB12161496 for more clarity in the tooling around this issue.
I've filed this as Feedback FB10794147.
I'm seeing this too, and I'd love to know if it's expected.
Still missing in beta 3 too.
To clarify my use case: my app is an e-reader app focused on Biblical materials, with a cross-referencing system that can surface content from any downloaded books related to any verse or entity (people, places, things, ideas). There are lots of atlas-like resources with maps of the ancient near east in Biblical times, and it would be amazing to be able to select the name of a city on a map image and feed it into my existing functionality to find content related to that city name - verses, encyclopedia articles, etc.
[edit: this should have been a comment, but now I can't find a way to delete this "reply"]
See also FB9982507.
FB9753149
I ran into this on Xcode 13 building and exporting a Mac app as Developer ID. At first I had the issue "You haven't been given access to cloud-managed distribution certificates" and that led to a Stack Overflow question that said I had to get my Team Agent to give me access to cloud-managed Developer ID certificates in App Store Connect. I did that and then got this error - the provisioning profile that Xcode generated for the app during export didn't include my Developer ID certificate in my keychain.
What eventually fixed it was deleting the Developer ID certificate out of my keychain. Then Xcode used the cloud-managed certificate that was in the provisioning profile that it generated.
I would advise exporting the Developer ID certificate before trying this, though, in case you need it back for some reason.
Related: UICollectionViewDiffableDataSource directly supports reordering as of iOS 14, but I can't get it to work without list cells that have reorder accessories: https://developer.apple.com/forums/thread/693913
This is now solved with a new API in iOS 15.
https://developer.apple.com/documentation/uikit/uideferredmenuelement/3857602-elementwithuncachedprovider?language=objc
I got an answer to this elsewhere. The enabling or disabling of the Siri capability (and others) is actually stored in the project's Entitlements file. So I duplicated my existing Entitlements file, removed Siri from it, and set that Entitlements file as a variation for the macOS SDK in the project's "Code Signing Entitlements" build setting.
I actually figured this out with the App Store Connect UI. In my scenario above, when adding the introductory offer, it displays "every 6 months for 12 months". I'd attach a screenshot here if the forums allowed images.