Build a Binary
summary
Investigation traces a Swift Playgrounds build failure when adding Firebase that surfaces the error clang Target is not supported and reveals that Playgrounds and Xcode share the same Swift and clang toolchain. Build logs in DerivedData get parsed with xlogparser to show the compiler version and defaults (LLVM/clang). Exploration covers the compiler front end, assembler (.o files), linker producing a universal fat binary, LD_Prime in Xcode 15 giving big speedups, and Bazel (artifact‑based) used at Spotify for millions of lines and 200+ iOS engineers; the original Playgrounds bug remains unresolved.
AI-written summary · about
chapters (12)
- 0:00Introduction and welcome
- 2:49Debugging a build failure
- 8:27How compilers work
- 13:30Xcode compilers overview
- 19:10Xcode build system
- 22:44What happens when you build
- 24:47Compilation process deep dive
- 27:13Assembler and linker
- 31:28What is an iOS binary
- 33:57Alternatives to Xcode build system
- 37:50Solving the playground mystery
- 39:59Conclusion and takeaways
related talks
41mBuild A Binary
56mBuild a Binary
43mBuilding iOS Apps without Xcode
01h 00m3rd party tools and frameworks you use in your applications and why
01h 08mPlaying With the Limits: Can Your App Run Arbitrary Binary
45mDebug like a Pro
37mTake your iOS debugging skills to the next level
25mFaster Builds With Xcode Compilation Cache
