The standard Command-A keyboard shortcut in a UITextView is broken in Mac Catalyst 16/ Ventura with either TextKit 2 or TextKit 1 for long texts.
In iOS 16 the selection is instant but on MacOS with Catalyst a beachball is displayed for more than 50 seconds and the app consumes gigabytes of memory.
Earlier versions of Mac Catalyst work fine.
To duplicate this just create a small storyBoard app with an editable UITextView and paste a long document around 1Mb then use the standard Select All Command either from the keyboard or the app menu.
l I use Tale of Two Cities which is about 800k to test in my app.
Is there any workaround for this?
Post
Replies
Boosts
Views
Activity
I am experiencing an issue with a Mac Catalyst app for those on Catalina Mac OS X 10.15.7 (19H2026) with the Class UIMarkupTextPrintFormatter. The error experienced is that it is missing in the OS.
I have used UIMarkupTextPrintFormatter in all previous versions of the app without issue and the developer documentation on this Class [https://developer.apple.com/documentation/uikit/uimarkuptextprintformatter] declares it is compatible with Mac Catalyst 13.1+ and I am building for a minimum target of 13.4.
Does anyone have an idea of what is going on?
I keep getting the error below when connecting my app that uses a NSPersistentCloudKitContainer. I have made no changes to the code in months and I was working reliably. The error seems random and can sometime be resolved by disconnecting and re-connecting from wifi. It is not just my app but other apps that use CloudKit as well for synch. I know there were issues that were supposed to be fixed but this is happening every day now. Can anyone shed some light on this?
[error] error: CoreData+CloudKit: -[PFCloudKitImporter databaseFetchFinishWithContext:error:completion:](249): <PFCloudKitImporter: 0x281c48600>: Database fetch for request: <NSCloudKitMirroringImportRequest: 0x281c48f80> 58556A21-BDE3-49C6-A4E9-C1DAE2752629 failed with error: <CKError 0x280760690: "Network Unavailable" (3/NSURLErrorDomain:-1003); "A server with the specified hostname could not be found.";`
My app uses a mirrored CoreData Store with NSPersistentCloudkitContainer.
The user has the option to turn cloudKit sync on or off by device. The app responds by setting the description?.cloudKitContainerOptions = nil - but keeps historyTracking on by setting description?.setOption(true as NSNumber,forKey: NSPersistentHistoryTrackingKey)
The app is working fine this way with multiple devices and if the user re-enables sync on a particular device that was either disabled or offline everything syncs just fine on all devices.
I now want to prune History transactions and I intend to clear the history older than say 7 days only when I receive a NSPersistentStoreRemoteChangeNotificationPostOptionKey observation on transactions that are outside the app.
Does a device that was either offline or had sync disabled as per above then re-enabled or come back online upload its local changes first then download changes from the store?
I am concerned that if is not this way I will potentially have to keep all History transactions?
I am seeing a console log in xCode 13 "Disabling recursion trigger logging" every time a BarButtonItem is tapped in iOS 15 configured with
UIBarButtonItem(title: nil, image: UIImage(systemName: "ellipsis"), primaryAction: nil, menu: items)
Normally I would not be concerned but the app sometimes hangs with cpu at 100% and memory utilisation keeps increasing?
I have programatically created UItextview and when the content has been scrolled and is decelerating it does not respond sometimes to finger touches (either a swipe or a quick flick) in the opposite direction to reverse the scroll. It responds very quickly to the trackpad using a two finger swipe to reverse the direction however.
I have been trying to debug this for days with no luck.
Has anyone else seen this behaviour?
I have a UITextView that is scroll enabled and when I select a range of text then drag to move the text within the same view Catalyst will not scroll the textView when the drag is at or near the bottom of the view. This effectively prevents me from moving the text beyond the current view that is visible onscreen.
This works fine on iOS.
I have a UITableView and select multiple cells in edit mode - scrolling to select further cells then drag all selected cells to another view for the drop. This works as expected in IOS but in Catalyst I get a crash if the cells are currently not visible.
If I limit the selection and drag to cells that are visible on screen then drag performs fine.
This same code works perfectly in iPadOS.
Below is a print from console in Xcode***********
2020-07-12 16:28:05.194476+1000 S * Terminating app due to uncaught exception 'NSRangeException', reason: 'NSDraggingItem.draggingFrame cannot be set to a zero size {{423.18359222412113, 427.42968353271488}, {0, 0}}'
Any suggestions?