Complete ground-up rewrite in SwiftUI targeting iOS 26. Drops the Flutter/Dart codebase entirely in favour of a lean native app with no third-party dependencies. Features shipped: - Bookmark list with pagination, pull-to-refresh, swipe delete/archive - Add bookmark form + iOS share extension (zero-tap save from any app) - Tags tab — all tags sorted by count, tap to browse filtered bookmarks - Native search tab (Tab role: .search) with instant client-side filtering - AI enrichment via OpenRouter (google/gemini-2.0-flash-lite-001): auto-summary and tag generation, semantic search, smart collections - Settings: linkding server config, OpenRouter API key - App Groups for credential sharing between main app and share extension - Swift 6 strict concurrency throughout (@Observable, @MainActor) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
62 lines
1.3 KiB
YAML
62 lines
1.3 KiB
YAML
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
|
|
run:
|
|
config: Debug
|
|
test:
|
|
config: Debug
|
|
profile:
|
|
config: Release
|
|
analyze:
|
|
config: Debug
|
|
archive:
|
|
config: Release
|
|
|
|
targets:
|
|
Marks:
|
|
type: application
|
|
platform: iOS
|
|
sources:
|
|
- path: Marks
|
|
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
|
|
|
|
ShareExtension:
|
|
type: app-extension
|
|
platform: iOS
|
|
sources:
|
|
- path: ShareExtension
|
|
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
|