Post

Replies

Boosts

Views

Activity

Comment on Quick Look Plugin for Mac and Internet Access
No, not really. This is actually my App and is actually using MapKit_JS via WKWebView to load maps. Unlike the native MKMapView which won't work in QuickLook extensions anymore, WKWebView still works. And because there are map services available via Web (including Apple Maps via MapKit_JS), you can load the maps this way. It's much less convenient and also has some limits (there's a usage quota and there are fees when you need more).
Topic: UI Frameworks SubTopic: AppKit Tags:
3w
Comment on Quick Look Plugin for Mac and Internet Access
How does blocking internet access of MapKit protect the user? MapKit does't allow random internet access and can not be used to abuse the users data. All internet access that is happening here is going to the Apple Maps server and this traffic is fully controlled by the system. So no danger at all for the user. Whereas WebKit is working just fine in QuickLook (the macOS comes with QuickLook extensions for URLs and web locations) and here random unrestricted internet access is possible.
Topic: UI Frameworks SubTopic: AppKit Tags:
Feb ’26
Comment on [iOS 26.2] Crash due to WKScriptMessageHandler delegate
Also which object do you release? And when exactly? In general the script message handlers should be set once when creating the WebView and released only before releasing the WebView itself. The JavaScript code is running completely independently from the swift code of your App, so it can be tricky to find the correct time to release the message handler and being sure that it is no longer in use by the JavaScript code.
Topic: Safari & Web SubTopic: General Tags:
Dec ’25
Comment on [iOS 26.2] Crash due to WKScriptMessageHandler delegate
How does your JavaScript code look like? I guess if the message you post from your JavaScript code can not be converted into a swift-compatible object (like a string, dictionary etc), the "body" might be nil (though according to the API, body is not an optional and therefore can not be nil). This would be a bug in the iOS, however you should be able to make sure that this bug is never triggered: Just make sure your JavaScript code only posts valid objects through the message handler.
Topic: Safari & Web SubTopic: General Tags:
Dec ’25
Comment on WKWebView isBlockedByScreenTime
Thank you very much for the clarification. However I think this needs some official documentation. Also it is unclear why this only covers the "App Limits" section of Screen Time and not the very similar content-based restrictions. In both cases the limits are based on the URLs of web sites, so there's no logical difference. If you expose these errors to Apps, they really needs to be documented and "stable". Apps need to know the reason for errors in order to be able to respond correctly.
Topic: Safari & Web SubTopic: General Tags:
Dec ’25
Comment on Apple’s age rating deadline: will apps be blocked after 31 Jan 2026?
Unfortunytely simply building and uploading the App again might not always work - at least not without some extensive testing and maybe some changes. This is because we now use a new version of Xcode, new Frameworks, new mandatory keys for the Info-plist, etc. Depending of the age of the last App release, there can be a lot of changes which may need attention.
Dec ’25
Comment on UISegmentedControl Not Switching Segments on iOS Beta 26
Yes and no. When creating the button programatically you can actually tap on sections to select them and this does indeed work fine. However, if you do not tap, but instead drag the selection (which will the show a glass element which is then dragged), then in most cases a “ghost selection” is shown on top of the first segment (regardless of the section you are coming from and to where you are going to). Though this seems to be just a visual glitch and doesn’t result in a wrong result.
Topic: UI Frameworks SubTopic: UIKit Tags:
Jul ’25
Comment on Xcode 26 / iOS 26 UISegmentedControl returns to index 0 incorrectly
Unfortunately, segmented buttons defined via storyboard do not work on real devices. A simple project without any code, just putting a segmented control into a view in the default storyboard, will already show the error on real devices (tested on an iPad Pro 11” M4 with iPadOS 26 beta 3). it looks like the issues does not occur if the segmented control is created programmatically. I’d did not find a single instance where it worked with storyboards or nib/xib files.
Topic: UI Frameworks SubTopic: UIKit Tags:
Jul ’25
Comment on addSubview with bounds not working
Setting frames and bounds is still supported. But you need to make sure the property "translatesAutoresizingMaskIntoConstraints" of the views is set currently. This property tells the iOS wether you want to use constraints (false) or the frames/bounds and autoresizing masks (true) to do the layout.
Topic: UI Frameworks SubTopic: UIKit Tags:
Jul ’25
Comment on Quick Look Plugin for Mac and Internet Access
No, not really. This is actually my App and is actually using MapKit_JS via WKWebView to load maps. Unlike the native MKMapView which won't work in QuickLook extensions anymore, WKWebView still works. And because there are map services available via Web (including Apple Maps via MapKit_JS), you can load the maps this way. It's much less convenient and also has some limits (there's a usage quota and there are fees when you need more).
Topic: UI Frameworks SubTopic: AppKit Tags:
Replies
Boosts
Views
Activity
3w
Comment on Quick Look Plugin for Mac and Internet Access
If I understand it correctly, MapKit did work fine in a QuickLook extension before MacOS "Sequoia". So this seems to be a bug.
Topic: UI Frameworks SubTopic: AppKit Tags:
Replies
Boosts
Views
Activity
Feb ’26
Comment on Quick Look Plugin for Mac and Internet Access
How does blocking internet access of MapKit protect the user? MapKit does't allow random internet access and can not be used to abuse the users data. All internet access that is happening here is going to the Apple Maps server and this traffic is fully controlled by the system. So no danger at all for the user. Whereas WebKit is working just fine in QuickLook (the macOS comes with QuickLook extensions for URLs and web locations) and here random unrestricted internet access is possible.
Topic: UI Frameworks SubTopic: AppKit Tags:
Replies
Boosts
Views
Activity
Feb ’26
Comment on [iOS 26.2] Crash due to WKScriptMessageHandler delegate
Also which object do you release? And when exactly? In general the script message handlers should be set once when creating the WebView and released only before releasing the WebView itself. The JavaScript code is running completely independently from the swift code of your App, so it can be tricky to find the correct time to release the message handler and being sure that it is no longer in use by the JavaScript code.
Topic: Safari & Web SubTopic: General Tags:
Replies
Boosts
Views
Activity
Dec ’25
Comment on [iOS 26.2] Crash due to WKScriptMessageHandler delegate
How does your JavaScript code look like? I guess if the message you post from your JavaScript code can not be converted into a swift-compatible object (like a string, dictionary etc), the "body" might be nil (though according to the API, body is not an optional and therefore can not be nil). This would be a bug in the iOS, however you should be able to make sure that this bug is never triggered: Just make sure your JavaScript code only posts valid objects through the message handler.
Topic: Safari & Web SubTopic: General Tags:
Replies
Boosts
Views
Activity
Dec ’25
Comment on WKWebView isBlockedByScreenTime
Thank you very much for the clarification. However I think this needs some official documentation. Also it is unclear why this only covers the "App Limits" section of Screen Time and not the very similar content-based restrictions. In both cases the limits are based on the URLs of web sites, so there's no logical difference. If you expose these errors to Apps, they really needs to be documented and "stable". Apps need to know the reason for errors in order to be able to respond correctly.
Topic: Safari & Web SubTopic: General Tags:
Replies
Boosts
Views
Activity
Dec ’25
Comment on Apple’s age rating deadline: will apps be blocked after 31 Jan 2026?
Unfortunytely simply building and uploading the App again might not always work - at least not without some extensive testing and maybe some changes. This is because we now use a new version of Xcode, new Frameworks, new mandatory keys for the Info-plist, etc. Depending of the age of the last App release, there can be a lot of changes which may need attention.
Replies
Boosts
Views
Activity
Dec ’25
Comment on UIMainMenuSystem and MKMapView
Done. FB19332453
Topic: UI Frameworks SubTopic: UIKit Tags:
Replies
Boosts
Views
Activity
Aug ’25
Comment on Xcode 26 / iOS 26 UISegmentedControl returns to index 0 incorrectly
My bugreport FB18336315 does include a test project. The bug is still present in iPadOS 26 Beta 4
Topic: UI Frameworks SubTopic: UIKit Tags:
Replies
Boosts
Views
Activity
Jul ’25
Comment on UISegmentedControl Not Switching Segments on iOS Beta 26
Yes and no. When creating the button programatically you can actually tap on sections to select them and this does indeed work fine. However, if you do not tap, but instead drag the selection (which will the show a glass element which is then dragged), then in most cases a “ghost selection” is shown on top of the first segment (regardless of the section you are coming from and to where you are going to). Though this seems to be just a visual glitch and doesn’t result in a wrong result.
Topic: UI Frameworks SubTopic: UIKit Tags:
Replies
Boosts
Views
Activity
Jul ’25
Comment on UISegmentedControl Not Switching Segments on iOS Beta 26
I can not confirm this. On my devices the segmented control does never work, when created via storyboard or xib/nib files.
Topic: UI Frameworks SubTopic: UIKit Tags:
Replies
Boosts
Views
Activity
Jul ’25
Comment on Xcode 26 / iOS 26 UISegmentedControl returns to index 0 incorrectly
Unfortunately, segmented buttons defined via storyboard do not work on real devices. A simple project without any code, just putting a segmented control into a view in the default storyboard, will already show the error on real devices (tested on an iPad Pro 11” M4 with iPadOS 26 beta 3). it looks like the issues does not occur if the segmented control is created programmatically. I’d did not find a single instance where it worked with storyboards or nib/xib files.
Topic: UI Frameworks SubTopic: UIKit Tags:
Replies
Boosts
Views
Activity
Jul ’25
Comment on addSubview with bounds not working
Setting frames and bounds is still supported. But you need to make sure the property "translatesAutoresizingMaskIntoConstraints" of the views is set currently. This property tells the iOS wether you want to use constraints (false) or the frames/bounds and autoresizing masks (true) to do the layout.
Topic: UI Frameworks SubTopic: UIKit Tags:
Replies
Boosts
Views
Activity
Jul ’25
Comment on UISplitView with "sidebar" and Liquid Glass
My issue is the sidebar itself and its appearance, not the content underneath the sidebar. As BabyJ has commented, this might be a limitation of the UITableView API and I should use UICollection View instead (though I need to drop support for older iOS releases then)
Topic: UI Frameworks SubTopic: UIKit Tags:
Replies
Boosts
Views
Activity
Jul ’25
Comment on UISplitView with "sidebar" and Liquid Glass
Unfortunately UICollectionViewCompositionalLayout is only available since iOS 14 and my App still supports older iOS releases. But I guess you're right, the UICollectionView API seems to have the capabilities that are needed here.
Topic: UI Frameworks SubTopic: UIKit Tags:
Replies
Boosts
Views
Activity
Jul ’25