XcodeSurgery: Eliminating Recompilation for your iOS Build Variants
summary
XcodeSurgery is a Swift CLI that reuses compiled app binaries to avoid recompiling the same target for multiple variants, using four steps: create a destination target, copy build settings, add a prepare run script, and add a transplant run script. The demo shows two variants drop from ~147+147s to ~147+2s by copying the built .app and swapping binaries and resources; it works for simulator, device installs and archives because Xcode defers code signing and performs no integrity checks between build phases. Variant files in plist plus an encryption key pattern is recommended.
AI-written summary · about
chapters (19)
- 0:00Introduction
- 0:38Overview
- 1:53Common reasons for compound times
- 2:43Introducing XcodeSurgery
- 3:27Installation
- 3:59Steps
- 4:35Step 1 Create a Target
- 5:10Step 2 Copy Build Settings
- 5:59Step 3 Create Run Script
- 6:20Step 4 Run Script
- 6:44Step 5 Build App
- 7:25Demo
- 15:35Explanation
- 15:54How Xcode builds iOS apps
- 18:23Why is this possible
- 19:02Limitations
- 19:39Encryption
- 20:43Other Notes
- 21:46Conclusion
related talks
19mBuild-a-Binary
33mScaling Swift Development
29mSwift Scripting in Practice
42mSplitting Monolithic Swift Code Base Into Modules
26mPractical Cross-Platform Swift
32mCut costs, not corners - Master modularization with SPM
38mTARGET VS COCOAPODS: why choose one if you can have BOTH?
28mFast reliable Swift builds with Buck
