Tuist
Project Generation
Generate projects without opening Xcode:
tuist generate --no-open
Target Declaration
Use buildableFolders when declaring targets to avoid regenerating projects on file changes:
let target = Target( name: "MyApp", destinations: [.iPhone], product: .app, bundleId: "com.example.app", buildableFolders: ["Sources/", "Resources/"] )
Building with xcodebuild
Pass these build settings to enable caching and improve build performance:
xcodebuild build
-scheme MyScheme
COMPILATION_CACHE_ENABLE_CACHING=YES
CLANG_ENABLE_COMPILE_CACHE=YES
SWIFT_ENABLE_EXPLICIT_MODULES=YES
SWIFT_USE_INTEGRATED_DRIVER=YES
Disable Signing for CI/Agent Builds
When building through an agent or CI, disable code signing:
xcodebuild build
-scheme MyScheme
CODE_SIGN_IDENTITY=""