name: Marks options: bundleIdPrefix: com.magicive deploymentTarget: iOS: "26.0" xcodeVersion: "16.3" createIntermediateGroups: true settings: base: SWIFT_VERSION: "6.0" DEVELOPMENT_TEAM: AE5DZKJHGN CODE_SIGN_STYLE: Automatic IPHONEOS_DEPLOYMENT_TARGET: "26.0" ENABLE_PREVIEWS: YES schemes: Marks: build: targets: Marks: all ShareExtension: all MarksWidget: all run: config: Debug test: config: Debug targets: - MarksTests profile: config: Release analyze: config: Debug archive: config: Release MarksWidget: build: targets: Marks: all MarksWidget: all run: config: Debug analyze: config: Debug archive: config: Release ShareExtension: build: targets: Marks: all ShareExtension: all run: config: Debug analyze: config: Debug archive: config: Release targets: Marks: type: application platform: iOS sources: - path: Marks - path: MarksWidget/WidgetDataStore.swift settings: base: PRODUCT_BUNDLE_IDENTIFIER: com.magicive.marks INFOPLIST_FILE: Marks/Info.plist CODE_SIGN_ENTITLEMENTS: Marks/Marks.entitlements ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon dependencies: - target: ShareExtension - target: MarksWidget - sdk: WidgetKit.framework - sdk: AppIntents.framework ShareExtension: type: app-extension platform: iOS sources: - path: ShareExtension # Shared with the main app so the extension can talk to linkding + the AI # backend (the save card checks for duplicates and suggests tags). - path: Marks/Models/Bookmark.swift - path: Marks/Models/IngestPayload.swift - path: Marks/Models/ServerConfig.swift - path: Marks/Services/LinkdingAPI.swift - path: Marks/Services/MarksAuth.swift - path: Marks/Services/Log.swift # Cross-process podcast request queue: the extension enqueues, the app runs it. - path: Marks/Services/PodcastRequests.swift settings: base: PRODUCT_BUNDLE_IDENTIFIER: com.magicive.marks.ShareExtension INFOPLIST_FILE: ShareExtension/Info.plist CODE_SIGN_ENTITLEMENTS: ShareExtension/ShareExtension.entitlements SKIP_INSTALL: YES APPLICATION_EXTENSION_API_ONLY: YES MarksTests: type: bundle.unit-test platform: iOS sources: - path: MarksTests settings: base: PRODUCT_BUNDLE_IDENTIFIER: com.magicive.marks.MarksTests GENERATE_INFOPLIST_FILE: YES dependencies: - target: Marks MarksWidget: type: app-extension platform: iOS sources: - path: MarksWidget settings: base: PRODUCT_BUNDLE_IDENTIFIER: com.magicive.marks.MarksWidget INFOPLIST_FILE: MarksWidget/Info.plist CODE_SIGN_ENTITLEMENTS: MarksWidget/MarksWidget.entitlements SKIP_INSTALL: YES dependencies: - sdk: WidgetKit.framework - sdk: SwiftUI.framework