All three iOS CI runs on the new m5-builder runner (jobs 75700/75702/75703) fail identically at link time:
ld: framework 'MetalFX' not found
** BUILD FAILED ** (exit 65)
This is NOT a Metal toolchain/SDK problem on the runner — compile fully succeeds, full Xcode is selected. Root cause: project.yml declares - sdk: MetalFX.framework unconditionally, while .gitea/workflows/ios.yml builds -destination 'generic/platform=iOS Simulator' — the iPhoneSimulator SDK does not ship MetalFX (device-only). Godot is already compiled out of simulator builds (#if !targetEnvironment(simulator) in GamesView.swift), so the simulator slice has no need for MetalFX at all.
Fix: make the MetalFX link SDK-conditional (OTHER_LDFLAGS[sdk=iphoneos*]), and switch CI to the more meaningful device slice with codesigning disabled. Also delete the stale .github/workflows/ios.yml duplicate and fix the README CI pointer.
All three iOS CI runs on the new `m5-builder` runner (jobs 75700/75702/75703) fail identically at link time:
```
ld: framework 'MetalFX' not found
** BUILD FAILED ** (exit 65)
```
This is NOT a Metal toolchain/SDK problem on the runner — compile fully succeeds, full Xcode is selected. Root cause: `project.yml` declares `- sdk: MetalFX.framework` unconditionally, while `.gitea/workflows/ios.yml` builds `-destination 'generic/platform=iOS Simulator'` — the iPhoneSimulator SDK does not ship MetalFX (device-only). Godot is already compiled out of simulator builds (`#if !targetEnvironment(simulator)` in GamesView.swift), so the simulator slice has no need for MetalFX at all.
Fix: make the MetalFX link SDK-conditional (`OTHER_LDFLAGS[sdk=iphoneos*]`), and switch CI to the more meaningful device slice with codesigning disabled. Also delete the stale `.github/workflows/ios.yml` duplicate and fix the README CI pointer.
Resolved in spikersoft-ios PR #2 (merged). MetalFX now links only for sdk=iphoneos* and CI builds the unsigned device slice — first green iOS CI on m5-builder. Closing.
Resolved in spikersoft-ios PR #2 (merged). MetalFX now links only for `sdk=iphoneos*` and CI builds the unsigned device slice — first green iOS CI on m5-builder. Closing.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
All three iOS CI runs on the new
m5-builderrunner (jobs 75700/75702/75703) fail identically at link time:This is NOT a Metal toolchain/SDK problem on the runner — compile fully succeeds, full Xcode is selected. Root cause:
project.ymldeclares- sdk: MetalFX.frameworkunconditionally, while.gitea/workflows/ios.ymlbuilds-destination 'generic/platform=iOS Simulator'— the iPhoneSimulator SDK does not ship MetalFX (device-only). Godot is already compiled out of simulator builds (#if !targetEnvironment(simulator)in GamesView.swift), so the simulator slice has no need for MetalFX at all.Fix: make the MetalFX link SDK-conditional (
OTHER_LDFLAGS[sdk=iphoneos*]), and switch CI to the more meaningful device slice with codesigning disabled. Also delete the stale.github/workflows/ios.ymlduplicate and fix the README CI pointer.Resolved in spikersoft-ios PR #2 (merged). MetalFX now links only for
sdk=iphoneos*and CI builds the unsigned device slice — first green iOS CI on m5-builder. Closing.