Migrate to Xcode 26 / iOS 26 with Liquid Glass theming#160
Open
Migrate to Xcode 26 / iOS 26 with Liquid Glass theming#160
Conversation
- Remove dead Readium 1 C++ SDK references (readium-sdk, readium-shared-js submodules, RDServices.xcodeproj, libRDServices.a, libePub3-iOS.a) that conflict with Xcode 26 system headers due to libc++ macro redefinitions - Remove ~50 stale Carthage framework/xcframework references for packages that migrated to SPM (Firebase, CryptoSwift, Fuzi, GCDWebServer, etc.) - Remove dead AudioEngine.xcframework reference - Fix PasskeyManager.swift: Data.bytes returns RawSpan in iOS 26 SDK - Fix ToastService.swift: SwiftUICore is no longer a public module
c2e95a3 to
b7c7560
Compare
- Skip opaque UINavigationBar/UITabBar appearance on iOS 26, let Liquid Glass handle it natively - Set window background color to prevent black bleed-through - Lock section header interface style to prevent Liquid Glass trait flipping during fast scroll - Use automatic content inset adjustment on iOS 26 - Skip forced nav bar appearance in EPUB reader on iOS 26 - Present reader modally on iPad to avoid floating tab bar overlay
On iPad with iOS 26, the All/Audiobooks/eBooks segmented control is placed directly in the navigation bar titleView to integrate with Liquid Glass. The separate facet bar is no longer shown on iPad. Section headers use grouped table style (non-sticky) with clear background to avoid clashing with the Liquid Glass nav bar. iPhone and older iOS versions are unchanged.
- Hide redundant title labels under the floating tab bar on iPad iOS 26 (Browse Books, My Books, Favorites, Settings) - Prevent catalog views from extending under the top bar so content does not show through the transparent area below the tab bar - Use standard title for pushed sub-category views on iPad iOS 26 - Hide top scroll edge effect on grouped catalog table view - Use grouped table style on iPad to disable sticky section headers - Set default nav bar appearance for Browse Books on iOS 26
The Magazines tab is a WKWebView with its own navigation UI. Add extra safe area inset so the web content clears the floating tab bar instead of showing a redundant native nav bar.
- Remove isNetworkActivityIndicatorVisible (deprecated iOS 13, removed iOS 26) - Guard barTintColor/barStyle/isTranslucent in reader views with #unavailable(iOS 26) to avoid Liquid Glass conflicts
Use connectedScenes-based window lookup on iOS 15+ with fallback for older versions.
Replace force-unwrap with guard let to prevent crash when the authentication document does not contain the expected link. Logs the error and returns nil instead of crashing.
NatLibFi-JoonaKupe
approved these changes
Mar 20, 2026
Replace force-unwrap with guard let to prevent crash when the authentication document is missing the tunnistus_start link.
Previously the iOS 26 navigation and layout adjustments only applied on iPad. This extends them to iPhone: opaque nav bar, grouped table style with clear section headers, standard nav bar titles, and disabled hide-bars-on-swipe. Also switches scheme to Debug config and cleans up minor Xcode project warnings.
Wrap the UITableView.topEdgeEffect call in a compile-time SDK version check so the project builds on both Xcode 16 (CI) and Xcode 26.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
UIApplication.shared.windowsand other iOS 26 deprecationstunnistus_startauthentication link during token authKnown issues
Test plan