name: Strand options: bundleIdPrefix: com.noopapp deploymentTarget: macOS: "13.0" createIntermediateGroups: true groupSortPosition: top # Base/development language. The in-source UI strings are authored in English (US); # the String Catalog (Strand/Resources/Localizable.xcstrings) carries this as the # source language and is where additional languages are added. developmentLanguage: en settings: base: MARKETING_VERSION: "1.80" CURRENT_PROJECT_VERSION: "1" SWIFT_VERSION: "5.0" # Emit localizable strings so Xcode auto-extracts every LocalizedStringKey into the # String Catalog on build (the English (US) base entries). SWIFT_EMIT_LOC_STRINGS: YES SWIFT_STRICT_CONCURRENCY: minimal DEVELOPMENT_TEAM: "" CODE_SIGN_STYLE: Automatic # Build for both Apple Silicon and Intel so the release runs on every Mac. ARCHS: "$(ARCHS_STANDARD)" configs: Release: # Distribution builds must produce a universal binary, not just the host arch. ONLY_ACTIVE_ARCH: NO packages: WhoopProtocol: path: Packages/WhoopProtocol WhoopStore: path: Packages/WhoopStore StrandAnalytics: path: Packages/StrandAnalytics StrandImport: path: Packages/StrandImport StrandDesign: path: Packages/StrandDesign targets: Strand: type: application platform: macOS deploymentTarget: "13.0" sources: - path: Strand excludes: - "Resources/Info.plist" - "Resources/Strand.entitlements" info: path: Strand/Resources/Info.plist properties: CFBundleName: NOOP CFBundleDisplayName: NOOP CFBundleShortVersionString: "$(MARKETING_VERSION)" CFBundleVersion: "57" LSMinimumSystemVersion: "13.0" LSApplicationCategoryType: public.app-category.healthcare-fitness NSBluetoothAlwaysUsageDescription: "NOOP connects directly to your WHOOP strap over Bluetooth to read heart rate, R-R intervals, battery, and sensor data locally on your Mac. Nothing leaves your device." entitlements: path: Strand/Resources/Strand.entitlements properties: com.apple.security.app-sandbox: true com.apple.security.device.bluetooth: true com.apple.security.files.user-selected.read-write: true settings: base: PRODUCT_BUNDLE_IDENTIFIER: com.noopapp.noop PRODUCT_NAME: NOOP ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon GENERATE_INFOPLIST_FILE: NO # Hardened Runtime closes the DYLD_INSERT_LIBRARIES injection vector for the # distributed (ad-hoc) build. The app uses no JIT / unsigned-exec memory, so it's safe. ENABLE_HARDENED_RUNTIME: YES COMBINE_HIDPI_IMAGES: YES dependencies: - package: WhoopProtocol - package: WhoopStore - package: StrandAnalytics - package: StrandImport - package: StrandDesign StrandTests: type: bundle.unit-test platform: macOS deploymentTarget: "13.0" sources: - StrandTests dependencies: - target: Strand - package: WhoopProtocol - package: WhoopStore settings: base: GENERATE_INFOPLIST_FILE: YES PRODUCT_BUNDLE_IDENTIFIER: com.noopapp.strandtests