fix(canary): override SkiaSharp to 4.148.0 on native iOS canary builds#1254
Closed
ramezgerges wants to merge 1 commit into
Closed
fix(canary): override SkiaSharp to 4.148.0 on native iOS canary builds#1254ramezgerges wants to merge 1 commit into
ramezgerges wants to merge 1 commit into
Conversation
SkiaSharp 3.119.4 (pinned by Uno.Sdk dev) ships its iOS assets as net10.0-ios26.2, which cannot be consumed when targeting iOS 26.1 or lower. NuGet falls back to the platform-neutral net10.0 assembly, whose SKSwapChainPanel is not ObjC-registered, and the managed-static registrar fails with MT0099 on native-rendering iOS Release builds. Override SkiaSharpVersion to 4.148.0 (ships net10.0-ios26.0 assets) on canary branches only, so master keeps the stable Uno.Sdk pin (3.119.1). Fixes #1253 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
agneszitte
reviewed
Jul 7, 2026
Member
|
Superseded by #1255. Moving this off |
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.
Related to unoplatform/uno#23680
Problem
The canary native iOS Release build has failed daily since 2026-05-25 with:
SkiaSharp 3.119.4 (published 2026-05-25, pinned by Uno.Sdk dev) ships its iOS assets as
net10.0-ios26.2. CI builds with Xcode 26.1.1 / iOS 26.1, so NuGet cannot select the platform asset and silently falls back to the platform-neutralnet10.0assembly. That assembly'sSKSwapChainPanelhas no ObjC[Register]attribute (verified by binary inspection), and on the native-rendering head — whereFrameworkElementderives fromNSObject— the managed-static registrar fails at ILLink. The Skia-renderer iOS leg is unaffected.The upstream TFM fix (mono/SkiaSharp#3798, 26.2 → 26.0) shipped in SkiaSharp 4.147.0-preview.2+; no 3.119.5 backport exists on nuget.org or the skia-eap feed.
Fix
Override
SkiaSharpVersionto 4.148.0 (shipsnet10.0-ios26.0assets) via the Uno.Sdk's override property, scoped toUseNativeRendering=true+ iOS +canaries/*branches so master keeps the stable Uno.Sdk pin (3.119.1) for the store app.Verification (local, Xcode 26.1.1 + iOS workload 26.1, mirroring CI)
net10.0-ios26.0assets, anddotnet publish -f net10.0-ios -c Release -p:UseNativeRendering=truesucceeds end-to-end (.app/.ipa produced).Notes
🤖 Generated with Claude Code