Hasty Briefsbeta

Bilingual

Building iOS Apps with Doom Emacs

3 hours ago
  • #iOS development
  • #Emacs configuration
  • #workflow automation
  • Built first iOS app (SPEEM) entirely from Doom Emacs, bypassing Xcode.
  • Achieved full development loop (coding, building, simulator control, logs, LSP) via custom SPC i keybindings.
  • Leveraged Apple's command-line tools (xcodebuild, simctl, swift-format, sourcekit-lsp) that underlie Xcode.
  • Created a ~1000-line Emacs module (modules/ios.el) for iOS workflow integration.
  • Motivation: Preference for Emacs environment and consistency across multi-language configs.
  • Key features: Auto LSP setup, build automation, multi-simulator deployment, filtered log streaming, project scaffolding.
  • Structure: Modular Doom config with separate files for iOS, keybindings, and other languages.
  • Automated generation of buildServer.json for accurate LSP project understanding.
  • Simulator management includes booting, installing, launching, and status bar customization.
  • Logging system filters noise, highlighting app outputs, errors, and warnings.
  • Scaffolding generates new SwiftUI projects via xcodegen without opening Xcode.
  • Daily workflow relies on Emacs for most tasks, only using Xcode for occasional tasks like signing, assets, or Instruments.
  • Conclusion: Viable for existing Emacs users; Xcode remains a good choice for others.