fix(ios): weak-link SwiftUICore on app target to bypass Xcode 26 autolink error

Build #8 confirmed BOTH iOS jobs (signed + unsigned) fail at the same step:
the Streamyfin app-target link (`Ld ... Streamyfin`), not any pod framework.
Under use_frameworks static + Xcode 26 the SwiftUI pods' object files carry a
`-framework SwiftUICore` autolink directive that flows into the app link; ld
rejects it with "cannot link directly with 'SwiftUICore' because product being
built is not an allowed client of it".

forceStaticLinking the SwiftUI pods was treating a symptom. The real fix is to
weakly link SwiftUICore on the app target so the allowed-client check is
bypassed and the symbols resolve via SwiftUI's re-export at runtime.

New plugin withSwiftUICoreWeakLink scopes the flag to product-type application
only, leaving the tvOS TopShelf app-extension untouched (a broad weak-link
previously broke that target).
This commit is contained in:
Gauvain
2026-05-29 17:38:01 +02:00
parent b6ea6d4f14
commit 04e75c81a4
2 changed files with 61 additions and 0 deletions

View File

@@ -133,6 +133,7 @@
],
"expo-web-browser",
["./plugins/with-runtime-framework-headers.js"],
["./plugins/withSwiftUICoreWeakLink.js"],
["./plugins/withChangeNativeAndroidTextToWhite.js"],
["./plugins/withAndroidAlertColors.js"],
["./plugins/withAndroidManifest.js"],