mirror of
https://github.com/streamyfin/streamyfin.git
synced 2026-05-30 02:28:26 +01:00
revert(ios): drop SwiftUICore weak-link plugin (broke tvOS, no iOS fix)
The -weak_framework SwiftUICore approach did NOT resolve the iOS 26 'cannot link directly with SwiftUICore' link error (auto-linked by a precompiled SwiftUI pod - @expo/ui and/or react-native-glass-effect-view, both in use), and it broke the tvOS TopShelf target (no SwiftUICore on tvOS). Restores tvOS unsigned to green. iOS phone still blocked on the SwiftUICore autolink issue - likely tied to useFrameworks:static + @expo/ui on iOS 26; needs a macOS build to iterate. [unsigned: GPG unavailable while away]
This commit is contained in:
1
app.json
1
app.json
@@ -132,7 +132,6 @@
|
||||
],
|
||||
"expo-web-browser",
|
||||
["./plugins/with-runtime-framework-headers.js"],
|
||||
["./plugins/withSwiftUICoreWeakLink.js"],
|
||||
["./plugins/withChangeNativeAndroidTextToWhite.js"],
|
||||
["./plugins/withAndroidAlertColors.js"],
|
||||
["./plugins/withAndroidManifest.js"],
|
||||
|
||||
@@ -1,55 +0,0 @@
|
||||
const { withPodfile } = require("expo/config-plugins");
|
||||
|
||||
// iOS 26 / Xcode 26: some pods (Liquid Glass / SwiftUI-based, e.g.
|
||||
// react-native-glass-effect-view, @expo/ui) pull in SwiftUICore, which cannot
|
||||
// be linked directly ("not an allowed client of it"). Weak-linking SwiftUICore
|
||||
// on the app target(s) satisfies the linker. iOS-only; tvOS is unaffected.
|
||||
const PATCH_START = "## >>> swiftuicore weak link";
|
||||
const PATCH_END = "## <<< swiftuicore weak link";
|
||||
|
||||
function buildPatch() {
|
||||
return [
|
||||
PATCH_START,
|
||||
" installer.aggregate_targets.each do |aggregate_target|",
|
||||
" aggregate_target.user_project.native_targets.each do |target|",
|
||||
" target.build_configurations.each do |cfg|",
|
||||
" flags = cfg.build_settings['OTHER_LDFLAGS'] || '$(inherited)'",
|
||||
" flags = flags.join(' ') if flags.is_a?(Array)",
|
||||
" unless flags.include?('SwiftUICore')",
|
||||
" cfg.build_settings['OTHER_LDFLAGS'] = flags + ' -weak_framework SwiftUICore'",
|
||||
" end",
|
||||
" end",
|
||||
" end",
|
||||
" aggregate_target.user_project.save",
|
||||
" end",
|
||||
PATCH_END,
|
||||
].join("\n");
|
||||
}
|
||||
|
||||
module.exports = function withSwiftUICoreWeakLink(config) {
|
||||
return withPodfile(config, (config) => {
|
||||
let podfile = config.modResults.contents;
|
||||
|
||||
if (!/^\s*post_install\s+do\s+\|installer\|/m.test(podfile)) {
|
||||
podfile += "\n\npost_install do |installer|\nend\n";
|
||||
}
|
||||
|
||||
const patch = buildPatch();
|
||||
|
||||
if (podfile.includes(PATCH_START)) {
|
||||
podfile = podfile.replace(
|
||||
new RegExp(`${PATCH_START}[\\s\\S]*?${PATCH_END}`),
|
||||
patch,
|
||||
);
|
||||
} else {
|
||||
podfile = podfile.replace(
|
||||
/^\s*post_install\s+do\s+\|installer\|.*$/m,
|
||||
(match) => `${match}\n\n${patch}`,
|
||||
);
|
||||
}
|
||||
|
||||
console.log("✅ withSwiftUICoreWeakLink: Podfile updated");
|
||||
config.modResults.contents = podfile;
|
||||
return config;
|
||||
});
|
||||
};
|
||||
Reference in New Issue
Block a user