\ # XcodeGen spec — generates ScanReceipts.xcodeproj on macOS. # # Why XcodeGen instead of a hand-committed .xcodeproj: the project file is a # fragile, Xcode-internal plist format tied to UUIDs Xcode itself assigns. # Generating it from this YAML on the machine that actually builds keeps the # real project file out of git entirely (see .gitignore) and avoids merge # conflicts in a format nobody can diff sensibly. # # Setup (macOS, once): `brew install xcodegen` # Generate the project: `cd app/ios && xcodegen generate` # Then open ScanReceipts.xcodeproj in Xcode. name: ScanReceipts options: bundleIdPrefix: app.scan-receipts deploymentTarget: iOS: "17.0" createIntermediateGroups: true settings: base: SWIFT_VERSION: "5.0" MARKETING_VERSION: "1.0.0" CURRENT_PROJECT_VERSION: "1" IPHONEOS_DEPLOYMENT_TARGET: "17.0" TARGETED_DEVICE_FAMILY: "1" # iPhone only for v1; add "1,2" once iPad layouts exist. # Set your own Apple Developer Team ID here (Xcode > Signing & Capabilities # also works and overrides this locally without touching the checked-in spec). DEVELOPMENT_TEAM: "" CODE_SIGN_STYLE: Automatic targets: ScanReceipts: type: application platform: iOS sources: - path: ScanReceipts excludes: - "**/.DS_Store" info: path: ScanReceipts/Resources/Info.plist properties: CFBundleDisplayName: ScanReceipts UILaunchScreen: {} UISupportedInterfaceOrientations: - UIInterfaceOrientationPortrait NSCameraUsageDescription: "ScanReceipts braucht Kamerazugriff, um Belege zu fotografieren und zu digitalisieren." NSPhotoLibraryUsageDescription: "ScanReceipts braucht Zugriff auf deine Fotos, um bestehende Belegfotos zu importieren." NSFaceIDUsageDescription: "ScanReceipts kann Face ID nutzen, um die App beim Öffnen zu schützen." ITSAppUsesNonExemptEncryption: false # Same three families the web app loads from Google Fonts (see # src/styles/globals.css) — self-hosted here as the actual OFL font # files instead of a CDN, since a native app doesn't have a stylesheet # to load them from. See ScanReceipts/Design/ZenithTypography.swift. UIAppFonts: - HankenGrotesk-Variable.ttf - Inter-Variable.ttf - JetBrainsMono-Variable.ttf entitlements: path: ScanReceipts/Resources/ScanReceipts.entitlements properties: com.apple.developer.applesignin: - Default settings: base: PRODUCT_BUNDLE_IDENTIFIER: app.scan-receipts.ios PRODUCT_NAME: ScanReceipts dependencies: [] schemes: ScanReceipts: build: targets: ScanReceipts: all run: config: Debug archive: config: Release test: config: Debug