# XcodeGen spec for the native SwiftUI VniDrop app (iOS/iPadOS/macOS). # Regenerate the project with: xcodegen generate (run from apple/) # Requires two generated inputs first (both gitignored), before xcodegen: # - Rust core: apple/scripts/build-core.sh debug # - Localization: (cd localization && bun run src/cli.ts generate) # -> VniDrop/Resources/Localizable.xcstrings, VniDrop/Generated/L10n.swift name: VniDrop options: bundleIdPrefix: com.vnidrop deploymentTarget: iOS: "18.2" macOS: "15.0" createIntermediateGroups: true packages: VnidropCore: path: VnidropCore SFSafeSymbols: url: https://github.com/SFSafeSymbols/SFSafeSymbols from: "5.3.0" targets: VniDrop: type: application supportedDestinations: [iOS, macOS] configFiles: Debug: Signing.xcconfig Release: Signing.xcconfig sources: - path: VniDrop excludes: - "Resources/Info.plist" - "Resources/VniDrop.entitlements" - "Resources/**/.DS_Store" settings: base: PRODUCT_BUNDLE_IDENTIFIER: com.vnidrop.app MARKETING_VERSION: "0.1.0" CURRENT_PROJECT_VERSION: "1" GENERATE_INFOPLIST_FILE: NO INFOPLIST_FILE: VniDrop/Resources/Info.plist # Mirror the Info.plist identity so Xcode's Identity editor shows it too # (the editor reads these build settings, not the manual plist). INFOPLIST_KEY_CFBundleDisplayName: VniDrop INFOPLIST_KEY_LSApplicationCategoryType: public.app-category.utilities SWIFT_VERSION: "6.0" SWIFT_STRICT_CONCURRENCY: complete ENABLE_USER_SCRIPT_SANDBOXING: NO ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon configs: debug: CODE_SIGN_ENTITLEMENTS: VniDrop/Resources/VniDrop.entitlements release: CODE_SIGN_ENTITLEMENTS: VniDrop/Resources/VniDrop.entitlements dependencies: - package: VnidropCore - package: SFSafeSymbols - sdk: SystemConfiguration.framework - sdk: Security.framework - sdk: libresolv.tbd VniDropTests: type: bundle.unit-test supportedDestinations: [iOS, macOS] configFiles: Debug: Signing.xcconfig Release: Signing.xcconfig sources: - path: Tests settings: base: GENERATE_INFOPLIST_FILE: YES SWIFT_VERSION: "6.0" SWIFT_STRICT_CONCURRENCY: complete dependencies: - target: VniDrop schemes: VniDrop: build: targets: VniDrop: all run: config: Debug test: config: Debug targets: - VniDropTests