Browse Questions
  • | Problem | Cause | Fix | |---------|-------|-----| | #if SIT always falls through to #else | Flag added to Other Swift Flags instead of Active Compilation Conditions | Move flag to the correct…
  • Combine subscriptions and NotificationCenter block observers cause leaks when the observation token is stored on self while the callback closure captures self strongly.
  • - Instruments — CPU Profiler, Time Profiler, Allocations, Leaks, Core Data - Xcode Memory Graph — find retain cycles and leaked objects - View Hierarchy Debugger — spot off-screen renders,…
  • Each feedback type has a very different responsibility — don't let them overlap.
ProblemCauseFix
#if SIT always falls through to #elseFlag added to Other Swift Flags instead of Active Compilation ConditionsMove flag to the correct build setting
Firebase crashes at launchPlist file not included in Target MembershipRe-add plist and check Target Membership
All environments overwrite each other on deviceBundle identifiers are identical across configurationsSet a unique bundle ID per configuration
App name doesn't change per environmentCFBundleDisplayName not added or still hardcodedAdd $(APP_DISPLAY_NAME) to CFBundleDisplayName in Info.plist
Firebase Auth rejects requestsBundle ID in app doesn't match the one registered in Firebase ConsoleEnsure Firebase Console bundle ID matches exactly per environment