Post

Replies

Boosts

Views

Activity

Reply to iOS 26 UISplitViewController in dark mode appearance.
I have noticed the same behavior with just having a UILabel as an indirect descendant of a UIVisualEffectView configured with UIGlassEffect (note that this is all within an inputAccessoryView in my app). If I don't create the UIVisualEffectView with UIGlassEffect, then the label text color updates correctly. If I use UIGlassEffect, then the label text remains black in dark mode. I was amused to see that if I add an emoji to the label text, as you've shown here, then the label's text color correctly updates to white in dark mode. The workaround I'm presently using is to set the label's textColor to: [UIColor colorWithDynamicProvider:^UIColor * _Nonnull(UITraitCollection * _Nonnull traitCollection) { return UIColor.labelColor; }]; Note: I'm presently working on beta 4. I didn't test betas 2 and 3, but beta 1 behavior was correct.
Topic: UI Frameworks SubTopic: UIKit Tags:
Jul ’25
Reply to [iOSAppOnMac] ShareKit: Crashes in SHKItemIsPDF() or -[SHKSaveToFilesSharingService saveFileURL:completion:]
Problem persists in macOS 26.0 Beta 4 (25A5316i). Apple had sent this back to me claiming that it was fixed, when all it seems they really did was changed the default document context menu so it was impossible to access the Share... option from there without selecting some text (in which case the Save option disappears). I updated my sample project to add a File > Share menu item, as found in my actual app, which requires adding a UIApplication subclass as follows: @implementation Application - (void)buildMenuWithBuilder:(id<UIMenuBuilder>)builder { // Add Share menu // // Reference: // • <https://developer.apple.com/documentation/uikit/uicommandtagshare?language=objc> // • <https://www.mattmoriarity.com/2019-10-18-share-menus-with-mac-catalyst/> // Note: "When you use this tag, the command’s action, though still required, will be ignored." // • https://developer.apple.com/forums/thread/742532 // Note: "Starting in Ventura, this submenu no longer appears ..., and instead ... the menu now just displays "Share" with no submenu.... [builder insertSiblingMenu:[UIMenu menuWithTitle:@"" image:nil identifier:nil options:UIMenuOptionsDisplayInline children:@[[UICommand commandWithTitle:@"Share" image:nil action:@selector(share:) propertyList:UICommandTagShare] ]] afterMenuForIdentifier:UIMenuDocument]; } @end It seems nothing else has changed, the exception is occurring in the same place as before (nil passed to -[NSSavePanel setNameFieldStringValue:]).
Topic: UI Frameworks SubTopic: UIKit
Jul ’25
Reply to macOS 26 beta: No Fast User Switching?
what's confusing users I understand your confusion. I feel that "confusion" is a mischaracterization of my state. I understood from the outset where to look for the Fast User Switching settings. The fact is that the option is hidden in the failing configurations, as described previously. I think this is a bug (or possibly multiple bugs) in macOS, though admittedly probably a corner case, based on my current understanding. Back when Apple last re-launched these forums, they explicitly described them as "meant for code-level questions". I see, thanks for the reference. This still seems like the best place to discuss such issues with a beta, in order to raise the problem to the attention of Apple and other developers who may encounter it. prefer to run betas, and often the current version, on a dedicated test machine. Presently, a dedicated test machine is not financially justifiable for me, and it's also not very efficient. I would prefer the VM option if Apple Intelligence worked in a VM (but it doesn't).
Topic: App & System Services SubTopic: General Tags:
Jun ’25
Reply to macOS 26 beta: No Fast User Switching?
First of all, Fast User Switching works fine. Thanks for confirming this. It was not properly showing up in the configuration where I originally reported the problem. I reproduced the same problem in an existing UTM VM with a single volume after adding a second admin user. In the original admin account, the Fast User Switching option wasn't available in the UI referenced by Kevin above. However, after logging out of that account and logging in to the new admin account, the Fast User Switching button was available in the Control Center's "Edit Controls" UI. So there may be a minor bug there. This is not the same behavior that I saw with the installation on a separate APFS volume. However, I went through a more complex setup flow with that installation, as I initially migrated over my primary admin account settings from the primary volume, and then added a second admin account after I ended up with the wrong UID, which necessitated going through Recovery mode and disabling SIP to get the file ownership straightened out so that I could access my source files on the primary volume. I imagine something in that process caused the system to fail to recognize that a second account had been added, causing the feature to remain hidden. I'm not sure what you mean by "secondary volume". I assume he's testing on a secondary volume instead of replacing his primary boot volume. Correct. I don't recommend trying to test with any kind of unusual boot configuration. I previously worked in Core OS for 12 years, so I'm pretty well aware that this is a supported and not extremely unusual boot configuration. Anyway, as mentioned above, I expect the problem was not directly related to the boot configuration, but rather the account manipulations that I performed post-install. the more unusual a boot configuration is the MORE important it is to test that boot configuration, since that gives us the most time to fix things if/when something is broken. This. Fast User switching is an operating system feature. I'm unaware of any 3rd party developer API that might affect its behaviour. Therefore, it's not relevant to this developer forum. I am a developer and encountered this problem in my development workflow while trying to bring my apps to macOS 26, so I had reason to believe it might be relevant for others. Perhaps I'm wrong, but my understanding has always been that this forum is for developers to seek help with any issues they encounter while testing the betas. I've never known that the discussion should be limited strictly to APIs. In macOS 26 the entire Control Center settings pane has been removed and is now managed through an "Edit Controls" button at the bottom of control center itself. Right, I saw this, but as described above, the option wasn't showing up.
Topic: App & System Services SubTopic: General Tags:
Jun ’25
Reply to iOS 26 beta: UIResponder inputAccessoryView no longer integrates seamlessly with system keyboard
Submited FB17978212 (iOS 26 beta: UIResponder inputAccessoryView no longer integrates seamlessly with system keyboard): Prior to iOS 26, it was possible to design an inputAccessoryView(Controller) that would integrate seamlessly with the system keyboard, by which I mean appearing as a natural extension of the system keyboard. For example, using CYRKeyboardButton https://github.com/tmcintos/CYRKeyboardButton. To date, I have successfully used this to provide an enhanced numeric key row within my apps, which is a distinguishing feature of these apps. It took a lot of engineering and testing effort to perfect this design. However, with iOS 26 the design is completely broken due to the system keyboard UI change, which places a margin with edge and rounded corners above the top row of the system keyboard. This makes it impossible to display an inputAccessoryView seamlessly along the top of the system keyboard (see attached screenshots showing previous and current app behavior after rebuilding with Xcode 26 and running on iOS 26 with no modifications to this functionality). This sort of UI change feels reckless—breaking existing app designs without adding any significant value to the user experience—and forces developers to waste time on rewriting their debugged, stable apps, likely creating more bugs instead of focusing on delivering the bug fixes and enhancements that they had planned.
Topic: UI Frameworks SubTopic: UIKit Tags:
Jun ’25
Reply to Xcode 26 beta: 'Building the menu bar using a storyboard is no longer supported for iOS and Mac Catalyst apps. Please migrate to the UIMenuBuilder or Commands APIs.'
The weird thing is, this only seems to occur when running under iOS 26 Simulator. The app built with Xcode 26 actually launches without hitting this issue on the host Mac (macOS 15.5) and a real iPhone (12 Pro) running iOS 26. Why is the simulator's behavior not aligned with the behavior of real devices? I normally test on real hardware, so it's only by chance that I happened to notice this. The lack of consistency here doesn't seem great, but if inconsistent on-device behavior is the only way I can test my app, then so be it. Edit: Spoke too soon. I didn't hit the exception until hitting a key on the onscreen keyboard under iOS 26. On macOS 15.5, I'm still able to use the rebuilt app, but I expect I would hit the problem on macOS 26 (will need to test).
Topic: UI Frameworks SubTopic: UIKit Tags:
Jun ’25
Reply to Xcode 26 beta: 'Building the menu bar using a storyboard is no longer supported for iOS and Mac Catalyst apps. Please migrate to the UIMenuBuilder or Commands APIs.'
Really not a great experience having your app crash on launch with the first build under Xcode 26 due to longstanding supported functionality that you relied upon being removed without notice. At a minimum, if this functionality is removed, I would expect Xcode to include a conversion tool that would generate the corresponding code (in Objective-C) from an existing root menu within a storyboard. Even AI (I asked Google's Gemini, as I'm not yet in a position to install macOS 26 to enable the AI features in Xcode) admits that conversion is a difficult, error-prone task and demurs when asked to do it. Fixing things that are broken by the WWDC beta with no added value to my app (in fact, only higher development/maintenance cost) is not how I envisioned spending my WWDC week. Really disappointed by this.
Topic: UI Frameworks SubTopic: UIKit Tags:
Jun ’25
Reply to [iOSAppOnMac] ShareKit: Crashes in SHKItemIsPDF() or -[SHKSaveToFilesSharingService saveFileURL:completion:]
Problem still occurs on macOS 15.5 (24F74). I've received no updates from Apple in FB13819800 since filing this a year ago with sample project that reproduces the problem. Could mean they're fixing it in Next Major OS, but we really should have a fix in macOS 15.x at least, preferably 13.x+ in my case. For the record, here's the log up to the first exception on macOS 15.5: Save: timed out loading URL *** Assertion failure in -[NSSavePanel setNameFieldStringValue:], NSSavePanel.m:1347 *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid parameter not satisfying: aString != nil' *** First throw call stack: ( 0 CoreFoundation 0x0000000195f32ca0 __exceptionPreprocess + 176 1 libobjc.A.dylib 0x00000001959f6b90 objc_exception_throw + 88 2 Foundation 0x0000000197541a78 -[NSCalendarDate initWithCoder:] + 0 3 AppKit 0x000000019aaedd90 -[NSSavePanel setNameFieldStringValue:] + 560 4 ShareKit 0x00000001c8953ce0 -[SHKSaveToFilesSharingService saveFileURL:completion:] + 116 5 ShareKit 0x00000001c89542b4 -[SHKSaveToFilesSharingService save:completion:] + 80 6 ShareKit 0x00000001c8954508 __49-[SHKSaveToFilesSharingService performWithItems:]_block_invoke.46 + 60 7 ShareKit 0x00000001c8919778 -[SHKSharingService _runActionBlockWithItems:completion:] + 144 8 ShareKit 0x00000001c891c8f8 -[SHKSharingService performCustomServiceWithItems:] + 348 9 ShareKit 0x00000001c891c6e8 -[SHKSharingService performWithItems:] + 2504 10 ShareKit 0x00000001c8954408 -[SHKSaveToFilesSharingService performWithItems:] + 296 11 ShareKit 0x00000001c891bcfc -[SHKSharingService performWithItems:completion:] + 64 12 ShareKit 0x00000001c892db50 -[SHKSharingServicePicker _performSharingService:] + 912 13 ShareKit 0x00000001c892dc64 -[SHKSharingServicePicker _handleItemsReady] + 76 14 ShareKit 0x00000001c8931c98 __55-[SHKSharingServicePicker _performItemLoadsIfNecessary]_block_invoke + 32 15 ShareKit 0x00000001c892a490 -[SHKSharingServicePicker _loadSendCopyRepresentationIfNecessaryWithCompletionHandler:] + 180 16 ShareKit 0x00000001c8931c3c -[SHKSharingServicePicker _performItemLoadsIfNecessary] + 128 17 ShareKit 0x00000001c8931b74 -[SHKSharingServicePicker _performSelectedService] + 1176 18 ShareKit 0x00000001c89356e8 -[SHKSharingServicePicker _performActionWithIdentifier:] + 356 19 ShareKit 0x00000001c8955374 __65-[SHKShareSheetRemoteViewController performActionWithIdentifier:]_block_invoke + 56 20 libdispatch.dylib 0x000000010342c514 _dispatch_call_block_and_release + 32 21 libdispatch.dylib 0x00000001034492dc _dispatch_client_callout + 16 22 libdispatch.dylib 0x000000010346cc94 _dispatch_main_queue_drain.cold.5 + 900 23 libdispatch.dylib 0x000000010343dd98 _dispatch_main_queue_drain + 180 24 libdispatch.dylib 0x000000010343dcd4 _dispatch_main_queue_callback_4CF + 44 25 CoreFoundation 0x0000000195effda4 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 16 26 CoreFoundation 0x0000000195ec0a9c __CFRunLoopRun + 1980 27 CoreFoundation 0x0000000195ebfc58 CFRunLoopRunSpecific + 572 28 HIToolbox 0x00000001a195427c RunCurrentEventLoopInMode + 324 29 HIToolbox 0x00000001a19574e8 ReceiveNextEventCommon + 676 30 HIToolbox 0x00000001a1ae2484 _BlockUntilNextEventMatchingListInModeWithFilter + 76 31 AppKit 0x0000000199de7ab4 _DPSNextEvent + 684 32 AppKit 0x000000019a7865b0 -[NSApplication(NSEventRouting) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 688 33 AppKit 0x0000000199ddac64 -[NSApplication run] + 480 34 AppKit 0x0000000199db135c NSApplicationMain + 880 35 AppKit 0x0000000199ffdcf4 +[NSWindow _savedFrameFromString:] + 0 36 UIKitMacHelper 0x00000001b13e4164 UINSApplicationMain + 976 37 UIKitCore 0x00000001c9a57c9c UIApplicationMain + 148 38 MobileRC6502.debug.dylib 0x0000000103620590 __debug_main_executable_dylib_entry_point + 188 39 dyld 0x0000000195a36b98 start + 6076 )
Topic: UI Frameworks SubTopic: UIKit
Jun ’25
Reply to FB16862332 (iOS 18.3 REGRESSION: UIDocumentViewController: Placeholder icon displayed instead of document icon in share menu item of document title menu)
I've attached a sample project to my feedback report (FB16862332) that demonstrates the problem with Xcode 16.4 on iOS 18.5. This is just a minimally-modified version of the Document App project template from Xcode 16.4. Modifications are to provide an app icon and export a custom file type. diff --git a/TestDocumentAppShareIcon/Assets.xcassets/AppIcon.appiconset/AppIcon1024x1024.png b/TestDocumentAppShareIcon/Assets.xcassets/AppIcon.appiconset/AppIcon1024x1024.png new file mode 100644 index 0000000..0b96db4 Binary files /dev/null and b/TestDocumentAppShareIcon/Assets.xcassets/AppIcon.appiconset/AppIcon1024x1024.png differ diff --git a/TestDocumentAppShareIcon/Assets.xcassets/AppIcon.appiconset/Contents.json b/TestDocumentAppShareIcon/Assets.xcassets/AppIcon.appiconset/Contents.json index 2305880..b5305cf 100644 --- a/TestDocumentAppShareIcon/Assets.xcassets/AppIcon.appiconset/Contents.json +++ b/TestDocumentAppShareIcon/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -1,6 +1,7 @@ { "images" : [ { + "filename" : "AppIcon1024x1024.png", "idiom" : "universal", "platform" : "ios", "size" : "1024x1024" diff --git a/TestDocumentAppShareIcon/Info.plist b/TestDocumentAppShareIcon/Info.plist index 48e3639..f7217d0 100644 --- a/TestDocumentAppShareIcon/Info.plist +++ b/TestDocumentAppShareIcon/Info.plist @@ -7,9 +7,11 @@ <dict> <key>CFBundleTypeRole</key> <string>Editor</string> + <key>LSHandlerRank</key> + <string>Owner</string> <key>LSItemContentTypes</key> <array> - <string>com.example.plain-text</string> + <string>com.example.exampletext</string> </array> <key>UIDocumentClass</key> <string>Document</string> @@ -32,17 +34,18 @@ </array> </dict> </dict> - <key>UTImportedTypeDeclarations</key> + <key>UTExportedTypeDeclarations</key> <array> <dict> <key>UTTypeConformsTo</key> <array> - <string>public.plain-text</string> + <string>public.content</string> + <string>public.data</string> </array> <key>UTTypeDescription</key> <string>Example Text</string> <key>UTTypeIdentifier</key> - <string>com.example.plain-text</string> + <string>com.example.exampletext</string> <key>UTTypeTagSpecification</key> <dict> <key>public.filename-extension</key> The following error messages are emitted when tapping the document title menu, when the placeholder icon is displayed: LPFileMetadataProviderSpecialization failed to retrieve a thumbnail from QuickLookThumbnailing (Error Domain=QLThumbnailErrorDomain Code=0 "Could not generate a thumbnail" UserInfo={NSUnderlyingError=0x10db4d800 {Error Domain=QLThumbnailErrorDomain Code=102 "(null)" UserInfo={NSUnderlyingError=0x10db4d860 {Error Domain=GSLibraryErrorDomain Code=3 "Generation not found" UserInfo={NSDescription=Generation not found}}}}}) Error returned from iconservicesagent image request: <ISTagIcon: 0x10db23500> Tag: exampletext, Class: public.filename-extension, Base type: public.item - <ISImageDescriptor: 0x10dadcaa0> - (37.00, 48.00)@3x v:40000 l:5 a:0:0:0:0 t:() b:0 s:2 ps:0 digest: 0D3223D0-9AE3-3B19-A081-ACACE55691B7 error: Error Domain=NSOSStatusErrorDomain Code=-609 "Client is disallowed from making such an icon request" UserInfo={NSLocalizedDescription=Client is disallowed from making such an icon request} Error returned from iconservicesagent image request: <ISTagIcon: 0x10dbe0400> Tag: exampletext, Class: public.filename-extension, Base type: public.item - <ISImageDescriptor: 0x10dadca00> - (37.00, 48.00)@3x v:40000 l:5 a:0:0:0:0 t:() b:0 s:2 ps:0 digest: 0D3223D0-9AE3-3B19-A081-ACACE55691B7 error: Error Domain=NSOSStatusErrorDomain Code=-609 "Client is disallowed from making such an icon request" UserInfo={NSLocalizedDescription=Client is disallowed from making such an icon request} Error returned from iconservicesagent image request: <ISTypeIcon: 0x10daf1e60>,Type: com.example.exampletext - <ISImageDescriptor: 0x10dadd220> - (40.00, 40.00)@3x v:0 l:5 a:0:0:0:0 t:() b:0 s:2 ps:0 digest: E988236A-DCCF-30CB-83D0-D901CB1A5499 error: Error Domain=NSOSStatusErrorDomain Code=-609 "Client is disallowed from making such an icon request" UserInfo={NSLocalizedDescription=Client is disallowed from making such an icon request} It's worth noting that Apple's UIDocumentController-based apps like Pages and Numbers use dynamically-generated thumbnail icons, so that's presumably why the problem is not observed in those apps.
Topic: UI Frameworks SubTopic: UIKit
Jun ’25
Reply to Since iOS 18.3, icons are no longer generated correctly with QLThumbnailGenerator
I've created a separate thread for my similar report, which does not involve use of QLThumbnailGenerator (though similar error messages occur, so these problems seem likely related): https://developer.apple.com/forums/thread/786346 The problem I reported remains unresolved as of iOS 18.5: FB16862332 (iOS 18.3 REGRESSION: UIDocumentViewController: Placeholder icon displayed instead of document icon in share menu item of document title menu)
Topic: UI Frameworks SubTopic: General Tags:
Jun ’25
Reply to Since iOS 18.3, icons are no longer generated correctly with QLThumbnailGenerator
I'm observing what appears to be the same or similar problem on iOS 18.3-18.3.2 with my own apps (WOZNIAC-1 and WOZNIAC-68). I don't see the problem when running under the 18.3 simulator—only on device. Filed: FB16862332 iOS 18.3 REGRESSION: UIDocumentViewController: Placeholder icon displayed instead of document icon in share menu item of document title menu When the problem occurs, I see the following error in the logs (a1vm is my file type's extension): Error returned from iconservicesagent image request: <ISTagIcon: 0x30299c040> Tag: a1vm, Class: public.filename-extension, Base type: public.item - <ISImageDescriptor: 0x300dd5860> - (37.00, 48.00)@3x v:40000 l:5 a:0:0:0:0 t:() b:0 s:2 ps:0 digest: 0D3223D0-9AE3-3B19-A081-ACACE55691B7 error: Error Domain=NSOSStatusErrorDomain Code=-609 "Client is disallowed from making such an icon request" UserInfo={NSLocalizedDescription=Client is disallowed from making such an icon request} Here is the expected behavior from the 18.2 simulator: Here is the on-device behavior from 18.3.2:
Topic: UI Frameworks SubTopic: General Tags:
Mar ’25