- Add release-testflight.sh — one-command archive + upload to TestFlight - Add README_TESTFLIGHT.md — setup guide for home laptop - Add BUILD_STATE.md — build tracking - Migrate bundle IDs: com.chronomind.app → com.saravana.chronomind (original was taken) - Remove App Groups entitlement temporarily (not registered in dev portal yet) - Fix duplicate theme enums in generated file
226 lines
6.7 KiB
YAML
226 lines
6.7 KiB
YAML
name: ChronoMind
|
|
options:
|
|
bundleIdPrefix: com.saravana.chronomind
|
|
deploymentTarget:
|
|
iOS: "17.0"
|
|
watchOS: "10.0"
|
|
macOS: "14.0"
|
|
xcodeVersion: "16.0"
|
|
createIntermediateGroups: true
|
|
generateEmptyDirectories: true
|
|
groupSortPosition: top
|
|
|
|
packages:
|
|
ByteLystPlatformSDK:
|
|
path: ../../learning_ai_common_plat/packages/swift-platform-sdk
|
|
|
|
settings:
|
|
base:
|
|
SWIFT_VERSION: "5.9"
|
|
TARGETED_DEVICE_FAMILY: "1,2"
|
|
DEVELOPMENT_TEAM: 748N7QPX7J
|
|
CODE_SIGN_STYLE: Automatic
|
|
|
|
targets:
|
|
ChronoMind:
|
|
type: application
|
|
platform: iOS
|
|
deploymentTarget: "17.0"
|
|
sources:
|
|
- path: ChronoMind
|
|
excludes:
|
|
- "**/.DS_Store"
|
|
settings:
|
|
base:
|
|
PRODUCT_BUNDLE_IDENTIFIER: com.saravana.chronomind
|
|
INFOPLIST_GENERATION_MODE: GeneratedFile
|
|
MARKETING_VERSION: "1.0.0"
|
|
CURRENT_PROJECT_VERSION: "1"
|
|
GENERATE_INFOPLIST_FILE: true
|
|
INFOPLIST_KEY_UIApplicationSceneManifest_Generation: true
|
|
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents: true
|
|
INFOPLIST_KEY_UILaunchScreen_Generation: true
|
|
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad: "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"
|
|
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone: "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"
|
|
INFOPLIST_KEY_CFBundleDisplayName: ChronoMind
|
|
SUPPORTS_MACCATALYST: false
|
|
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD: false
|
|
INFOPLIST_KEY_NSSupportsLiveActivities: true
|
|
dependencies:
|
|
- target: ChronoMindWidgets
|
|
# - target: ChronoMindWatch # Temporarily removed — watchOS target can't build on iOS Simulator
|
|
- package: ByteLystPlatformSDK
|
|
entitlements:
|
|
path: ChronoMind/ChronoMind.entitlements
|
|
|
|
ChronoMindTests:
|
|
type: bundle.unit-test
|
|
platform: iOS
|
|
deploymentTarget: "17.0"
|
|
sources:
|
|
- path: ChronoMindTests
|
|
excludes:
|
|
- "**/.DS_Store"
|
|
dependencies:
|
|
- target: ChronoMind
|
|
settings:
|
|
base:
|
|
PRODUCT_BUNDLE_IDENTIFIER: com.saravana.chronomind.tests
|
|
GENERATE_INFOPLIST_FILE: true
|
|
|
|
ChronoMindWidgets:
|
|
type: app-extension
|
|
platform: iOS
|
|
deploymentTarget: "17.0"
|
|
sources:
|
|
- path: ChronoMindWidgets
|
|
excludes:
|
|
- "**/.DS_Store"
|
|
- path: ChronoMind/Shared/TimerEngine
|
|
- path: ChronoMind/Shared/AppGroup
|
|
- path: ChronoMind/LiveActivity/TimerActivityAttributes.swift
|
|
settings:
|
|
base:
|
|
PRODUCT_BUNDLE_IDENTIFIER: com.saravana.chronomind.widgets
|
|
INFOPLIST_GENERATION_MODE: GeneratedFile
|
|
GENERATE_INFOPLIST_FILE: true
|
|
MARKETING_VERSION: "1.0.0"
|
|
CURRENT_PROJECT_VERSION: "1"
|
|
INFOPLIST_KEY_NSExtension_NSExtensionPointIdentifier: com.apple.widgetkit-extension
|
|
INFOPLIST_KEY_CFBundleDisplayName: ChronoMind Widgets
|
|
entitlements:
|
|
path: ChronoMindWidgets/ChronoMindWidgets.entitlements
|
|
|
|
ChronoMindWatch:
|
|
type: application
|
|
platform: watchOS
|
|
deploymentTarget: "10.0"
|
|
sources:
|
|
- path: ChronoMindWatch
|
|
excludes:
|
|
- "**/.DS_Store"
|
|
- Complications
|
|
- path: ChronoMind/Shared/TimerEngine
|
|
- path: ChronoMind/Shared/AppGroup
|
|
settings:
|
|
base:
|
|
PRODUCT_BUNDLE_IDENTIFIER: com.saravana.chronomind.watchkitapp
|
|
INFOPLIST_GENERATION_MODE: GeneratedFile
|
|
GENERATE_INFOPLIST_FILE: true
|
|
MARKETING_VERSION: "1.0.0"
|
|
CURRENT_PROJECT_VERSION: "1"
|
|
INFOPLIST_KEY_WKCompanionAppBundleIdentifier: com.saravana.chronomind
|
|
INFOPLIST_KEY_CFBundleDisplayName: ChronoMind
|
|
INFOPLIST_KEY_WKRunsIndependentlyOfCompanionApp: true
|
|
dependencies:
|
|
- target: ChronoMindWatchComplications
|
|
entitlements:
|
|
path: ChronoMindWatch/ChronoMindWatch.entitlements
|
|
properties:
|
|
com.apple.security.application-groups:
|
|
- group.com.chronomind.shared
|
|
|
|
ChronoMindWatchComplications:
|
|
type: app-extension
|
|
platform: watchOS
|
|
deploymentTarget: "10.0"
|
|
sources:
|
|
- path: ChronoMindWatch/Complications
|
|
excludes:
|
|
- "**/.DS_Store"
|
|
- path: ChronoMind/Shared/TimerEngine
|
|
- path: ChronoMind/Shared/AppGroup
|
|
settings:
|
|
base:
|
|
PRODUCT_BUNDLE_IDENTIFIER: com.saravana.chronomind.watchkitapp.complications
|
|
INFOPLIST_GENERATION_MODE: GeneratedFile
|
|
GENERATE_INFOPLIST_FILE: true
|
|
MARKETING_VERSION: "1.0.0"
|
|
CURRENT_PROJECT_VERSION: "1"
|
|
INFOPLIST_KEY_NSExtension_NSExtensionPointIdentifier: com.apple.widgetkit-extension
|
|
INFOPLIST_KEY_CFBundleDisplayName: ChronoMind Complications
|
|
entitlements:
|
|
path: ChronoMindWatch/ChronoMindWatch.entitlements
|
|
properties:
|
|
com.apple.security.application-groups:
|
|
- group.com.chronomind.shared
|
|
|
|
ChronoMindMac:
|
|
type: application
|
|
platform: macOS
|
|
deploymentTarget: "14.0"
|
|
sources:
|
|
- path: ChronoMindMac
|
|
excludes:
|
|
- "**/.DS_Store"
|
|
- path: ChronoMind/Shared/TimerEngine
|
|
- path: ChronoMind/Shared/AppGroup
|
|
- path: ChronoMind/Shared/Reschedule
|
|
- path: ChronoMind/Shared/Gamification
|
|
- path: ChronoMind/Shared/Cloud
|
|
dependencies:
|
|
- package: ByteLystPlatformSDK
|
|
settings:
|
|
base:
|
|
PRODUCT_BUNDLE_IDENTIFIER: com.saravana.chronomind.mac
|
|
INFOPLIST_GENERATION_MODE: GeneratedFile
|
|
GENERATE_INFOPLIST_FILE: true
|
|
MARKETING_VERSION: "1.0.0"
|
|
CURRENT_PROJECT_VERSION: "1"
|
|
INFOPLIST_KEY_CFBundleDisplayName: ChronoMind
|
|
INFOPLIST_KEY_LSUIElement: true
|
|
entitlements:
|
|
path: ChronoMindMac/ChronoMindMac.entitlements
|
|
properties:
|
|
com.apple.security.application-groups:
|
|
- group.com.chronomind.shared
|
|
com.apple.security.app-sandbox: true
|
|
com.apple.security.network.client: true
|
|
|
|
schemes:
|
|
ChronoMind:
|
|
build:
|
|
targets:
|
|
ChronoMind: all
|
|
ChronoMindWidgets: all
|
|
ChronoMindTests: [test]
|
|
run:
|
|
config: Debug
|
|
test:
|
|
config: Debug
|
|
targets:
|
|
- ChronoMindTests
|
|
profile:
|
|
config: Release
|
|
analyze:
|
|
config: Debug
|
|
archive:
|
|
config: Release
|
|
|
|
ChronoMindWatch:
|
|
build:
|
|
targets:
|
|
ChronoMindWatch: all
|
|
ChronoMindWatchComplications: all
|
|
run:
|
|
config: Debug
|
|
profile:
|
|
config: Release
|
|
analyze:
|
|
config: Debug
|
|
archive:
|
|
config: Release
|
|
|
|
ChronoMindMac:
|
|
build:
|
|
targets:
|
|
ChronoMindMac: all
|
|
run:
|
|
config: Debug
|
|
profile:
|
|
config: Release
|
|
analyze:
|
|
config: Debug
|
|
archive:
|
|
config: Release
|