Section 6/221 menit

6. Optimasi Xcode Build Settings

6. Optimasi Xcode Build Settings

Debug Build Settings yang Kritis

Buka Build Settings di target Xcode, pastikan pengaturan ini benar untuk skema Debug:

swift
# Optimization Level
Swift Compiler - Code Generation  Optimization Level
  Debug:   -Onone  (tidak ada optimasi  compiler cepat, runtime normal)
  Release: -O      (optimasi penuh, compiler lebih lambat)

# Compilation Mode
Swift Compiler - Code Generation  Compilation Mode
  Debug:   Incremental  (kompilasi per-file, incremental build efektif)
  Release: Whole Module (WMO, seluruh modul dalam satu pass)

# Debug Information Format
Build Settings  Debug Information Format
  Debug:   DWARF with dSYM File  ganti ke DWARF (tanpa dSYM)
  Release: DWARF with dSYM File (tetap, untuk symbolication crash)

Menghilangkan dSYM di Debug menghemat 30–50% waktu linking.

xcconfig untuk Konsistensi Tim

Jangan set build settings satu per satu di GUI — gunakan xcconfig agar mudah di-review di git dan konsisten di semua mesin:

swift
# Configs/Debug.xcconfig
SWIFT_OPTIMIZATION_LEVEL = -Onone
SWIFT_COMPILATION_MODE = incremental
DEBUG_INFORMATION_FORMAT = dwarf
ONLY_ACTIVE_ARCH = YES
ENABLE_TESTABILITY = YES
GCC_OPTIMIZATION_LEVEL = 0
SWIFT_ENABLE_INCREMENTAL_COMPILATION = YES

# Nonaktifkan fitur yang tidak diperlukan di debug
ENABLE_BITCODE = NO
VALIDATE_PRODUCT = NO
swift
# Configs/Release.xcconfig
SWIFT_OPTIMIZATION_LEVEL = -O
SWIFT_COMPILATION_MODE = wholemodule
DEBUG_INFORMATION_FORMAT = dwarf-with-dsym
ONLY_ACTIVE_ARCH = NO
ENABLE_TESTABILITY = NO
GCC_OPTIMIZATION_LEVEL = s

ONLY_ACTIVE_ARCH

Setting ini memastikan Xcode hanya mengkompilasi untuk arsitektur perangkat/simulator yang sedang digunakan (arm64 atau x86_64), bukan keduanya sekaligus.

swift
Build Settings  Build Active Architecture Only
  Debug:   YES   pastikan ini!
  Release: NO   (perlu fat binary untuk distribusi)