Build System
Last Updated: 2026-02-03 | Reading Time: 12 minutes
Xcode build configuration and automation for PasteShelf.
Table of Contents
Section titled “Table of Contents”Project Structure
Section titled “Project Structure”PasteShelf.xcodeproj/├── project.pbxproj├── xcshareddata/│ └── xcschemes/│ ├── PasteShelf.xcscheme│ └── PasteShelfTests.xcscheme└── xcuserdata/Build Configurations
Section titled “Build Configurations”| Configuration | Use Case |
|---|---|
| Debug | Development and debugging |
| Release | Production builds |
Debug Configuration
Section titled “Debug Configuration”SWIFT_OPTIMIZATION_LEVEL = -OnoneDEBUG_INFORMATION_FORMAT = dwarf-with-dsymENABLE_TESTABILITY = YESGCC_PREPROCESSOR_DEFINITIONS = DEBUG=1SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUGRelease Configuration
Section titled “Release Configuration”SWIFT_OPTIMIZATION_LEVEL = -ODEBUG_INFORMATION_FORMAT = dwarf-with-dsymENABLE_TESTABILITY = NOSWIFT_COMPILATION_MODE = wholemoduleSchemes
Section titled “Schemes”PasteShelf (Development)
Section titled “PasteShelf (Development)”- Build: Debug
- Test: All test targets
- Run: Debug build
PasteShelf-Release
Section titled “PasteShelf-Release”- Build: Release
- Archive: For distribution
Signing
Section titled “Signing”Development
Section titled “Development”Team: Personal TeamSigning Certificate: Apple DevelopmentProvisioning: AutomaticDistribution
Section titled “Distribution”Team: PasteShelf Inc (TEAMID)Signing Certificate: Apple Distribution (App Store) or Developer ID Application (Direct)Provisioning: ManualFastlane
Section titled “Fastlane”# Fastfiledefault_platform(:mac)
platform :mac do desc "Build for development" lane :build do build_app( scheme: "PasteShelf", configuration: "Debug", skip_archive: true ) end
desc "Build and archive for release" lane :release do build_app( scheme: "PasteShelf-Release", configuration: "Release", export_method: "app-store" ) end
desc "Upload to App Store Connect" lane :upload do upload_to_app_store( skip_metadata: false, skip_screenshots: true ) end
desc "Run tests" lane :test do run_tests( scheme: "PasteShelf", device: "Mac" ) endendRelated Documentation
Section titled “Related Documentation”| Document | Description |
|---|---|
| CI/CD | Continuous integration |
| Deployment Guide | Distribution |
Last updated: 2026-02-03