name: Musubi options: bundleIdPrefix: studio.zielke deploymentTarget: macOS: "14.0" developmentLanguage: de createIntermediateGroups: true packages: MusubiKit: path: Packages/MusubiKit settings: base: SWIFT_VERSION: "6.0" MACOSX_DEPLOYMENT_TARGET: "14.0" ARCHS: "arm64 x86_64" LOCALIZATION_PREFERS_STRING_CATALOGS: YES SWIFT_EMIT_LOC_STRINGS: YES configs: Debug: ONLY_ACTIVE_ARCH: YES Release: ONLY_ACTIVE_ARCH: NO targets: Musubi: type: application platform: macOS sources: - App/Sources - App/Resources info: path: App/Info.plist properties: CFBundleDisplayName: Musubi CFBundleShortVersionString: "0.1.0" CFBundleVersion: "1" LSApplicationCategoryType: public.app-category.video NSLocalNetworkUsageDescription: Musubi sucht NDI-Quellen im Technik-Netz und verbindet Handys im Klinik-Netz. NSMicrophoneUsageDescription: Musubi legt dein Headset-Mikro per Sprechtaste auf einen Ausgangskanal. NSBonjourServices: [_ndi._tcp, _musubi._tcp] settings: base: PRODUCT_BUNDLE_IDENTIFIER: studio.zielke.musubi ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon # Stable signing identity: macOS keys privacy grants (local network, microphone) to it. # libndi.dylib is re-signed on copy with the same team, so library validation passes. CODE_SIGN_STYLE: Manual CODE_SIGN_IDENTITY: "Developer ID Application" DEVELOPMENT_TEAM: XY4C2RG3L5 ENABLE_HARDENED_RUNTIME: YES CODE_SIGN_ENTITLEMENTS: App/Musubi.entitlements OTHER_CODE_SIGN_FLAGS: --timestamp=none LIBRARY_SEARCH_PATHS: $(SRCROOT)/Vendor/NDI/lib LD_RUNPATH_SEARCH_PATHS: "@executable_path/../Frameworks" preBuildScripts: - name: Check NDI SDK basedOnDependencyAnalysis: false script: | if [ ! -f "${SRCROOT}/Vendor/NDI/include/Processing.NDI.Lib.h" ] || [ ! -f "${SRCROOT}/Vendor/NDI/lib/libndi.dylib" ]; then echo "error: NDI SDK fehlt. Kopiere Header und libndi.dylib nach Vendor/NDI/ (siehe Vendor/README.md)." exit 1 fi dependencies: - package: MusubiKit product: MusubiCore - package: MusubiKit product: NDIKit - package: MusubiKit product: VideoOutput - package: MusubiKit product: AudioMatrix - package: MusubiKit product: DesignSystem - package: MusubiKit product: Remote - package: MusubiKit product: Intercom - framework: Vendor/NDI/lib/libndi.dylib embed: true codeSign: true schemes: Musubi: build: targets: Musubi: all test: targets: - package: MusubiKit/MusubiCoreTests - package: MusubiKit/AudioMatrixTests - package: MusubiKit/RemoteTests - package: MusubiKit/IntercomTests run: config: Debug archive: config: Release