flutter build ios started failing on my machine with a permissions error pointing at a build output directory. The actual problem was three layers deeper: Apple silently removed GNU rsync from macOS 15.4, its replacement ignores a flag Flutter depends on, and the existing fix had been a no-op for almost a year.
How I found it
I run the Flutter SDK through Nix. The SDK lives in /nix/store , which is read-only by design. That's a supported configuration. Flutter merged PR #148580 in May 2024 specifically to handle read-only SDK paths by passing --chmod=Du=rwx,Dgo=rx,Fu=rw,Fgo=r to rsync during framework copies.
Worked fine until one day it didn't. The error:
fatal error: lipo: can't create temporary output file: …/Flutter.framework/Flutter.lipo (Permission denied)
Enter fullscreen mode
Exit fullscreen mode
That's lipo complaining it can't write to a file in the build output directory. Not the SDK. The build output.…