mirror of
https://github.com/openclaw/openclaw.git
synced 2026-07-23 18:31:20 +00:00
505 lines
20 KiB
YAML
505 lines
20 KiB
YAML
name: OpenClaw
|
|
options:
|
|
bundleIdPrefix: ai.openclawfoundation
|
|
deploymentTarget:
|
|
iOS: "18.0"
|
|
xcodeVersion: "26.0"
|
|
|
|
settings:
|
|
base:
|
|
SWIFT_VERSION: "6.0"
|
|
ENABLE_APP_INTENTS_METADATA_GENERATION: NO
|
|
|
|
packages:
|
|
OpenClawKit:
|
|
path: ../shared/OpenClawKit
|
|
Swabble:
|
|
path: ../swabble
|
|
WebRTC:
|
|
url: https://github.com/stasel/WebRTC.git
|
|
exactVersion: 147.0.0
|
|
|
|
schemes:
|
|
OpenClaw:
|
|
shared: true
|
|
build:
|
|
targets:
|
|
OpenClaw: all
|
|
test:
|
|
targets:
|
|
- OpenClawTests
|
|
- OpenClawLogicTests
|
|
OpenClawLogicTests:
|
|
shared: true
|
|
build:
|
|
targets:
|
|
OpenClawLogicTests: all
|
|
test:
|
|
targets:
|
|
- OpenClawLogicTests
|
|
OpenClawUITests:
|
|
shared: true
|
|
build:
|
|
targets:
|
|
OpenClawUITests: all
|
|
test:
|
|
targets:
|
|
- OpenClawUITests
|
|
OpenClawWatchApp:
|
|
shared: true
|
|
build:
|
|
targets:
|
|
OpenClawWatchApp: all
|
|
|
|
targets:
|
|
OpenClaw:
|
|
type: application
|
|
platform: iOS
|
|
configFiles:
|
|
Debug: Signing.xcconfig
|
|
Release: Signing.xcconfig
|
|
sources:
|
|
- path: Sources
|
|
- path: Resources/Licenses
|
|
type: folder
|
|
buildPhase: resources
|
|
- path: Sources/Fonts
|
|
buildPhase: resources
|
|
- path: Resources/Localizable.xcstrings
|
|
buildPhase: resources
|
|
dependencies:
|
|
- target: OpenClawShareExtension
|
|
embed: true
|
|
- target: OpenClawActivityWidget
|
|
embed: true
|
|
# A companion watch application belongs in the standard Watch bundle location.
|
|
# PlugIns is for extension products and breaks paired watch installation.
|
|
- target: OpenClawWatchApp
|
|
- package: OpenClawKit
|
|
- package: OpenClawKit
|
|
product: OpenClawChatUI
|
|
- package: OpenClawKit
|
|
product: OpenClawProtocol
|
|
- package: Swabble
|
|
product: SwabbleKit
|
|
- package: WebRTC
|
|
- sdk: AppIntents.framework
|
|
- sdk: HealthKit.framework
|
|
preBuildScripts:
|
|
- name: SwiftFormat (lint)
|
|
basedOnDependencyAnalysis: false
|
|
inputFileLists:
|
|
- $(SRCROOT)/SwiftSources.input.xcfilelist
|
|
script: |
|
|
set -euo pipefail
|
|
export PATH="$PATH:/opt/homebrew/bin:/usr/local/bin"
|
|
"$SRCROOT/../../scripts/check-swift-tools.sh" swiftformat
|
|
swiftformat --lint --config "$SRCROOT/../../config/swiftformat" \
|
|
--unexclude "$SRCROOT/Sources,$SRCROOT/ShareExtension,$SRCROOT/ActivityWidget,$SRCROOT/WatchApp,$SRCROOT/../shared/OpenClawKit/Sources/OpenClawChatUI,$SRCROOT/../shared/OpenClawKit/Sources/OpenClawKit,$SRCROOT/../shared/OpenClawKit/Sources/OpenClawProtocol,$SRCROOT/../swabble/Sources/SwabbleKit" \
|
|
--filelist "$SRCROOT/SwiftSources.input.xcfilelist"
|
|
- name: SwiftLint
|
|
basedOnDependencyAnalysis: false
|
|
inputFileLists:
|
|
- $(SRCROOT)/SwiftSources.input.xcfilelist
|
|
script: |
|
|
set -euo pipefail
|
|
export PATH="$PATH:/opt/homebrew/bin:/usr/local/bin"
|
|
"$SRCROOT/../../scripts/check-swift-tools.sh" swiftlint
|
|
swiftlint lint --strict --config "$SRCROOT/.swiftlint.yml" --use-script-input-file-lists
|
|
settings:
|
|
base:
|
|
ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon
|
|
CODE_SIGN_IDENTITY: "$(OPENCLAW_CODE_SIGN_IDENTITY)"
|
|
CODE_SIGN_ENTITLEMENTS: "$(OPENCLAW_CODE_SIGN_ENTITLEMENTS)"
|
|
CODE_SIGN_STYLE: "$(OPENCLAW_CODE_SIGN_STYLE)"
|
|
DEVELOPMENT_TEAM: "$(OPENCLAW_DEVELOPMENT_TEAM)"
|
|
OPENCLAW_ACTIVE_APP_GROUP_ID: "$(OPENCLAW_APP_GROUP_ID)"
|
|
OPENCLAW_APP_DISPLAY_NAME: OpenClaw
|
|
OPENCLAW_URL_SCHEME: openclaw
|
|
PRODUCT_BUNDLE_IDENTIFIER: "$(OPENCLAW_APP_BUNDLE_ID)"
|
|
PROVISIONING_PROFILE_SPECIFIER: "$(OPENCLAW_APP_PROFILE)"
|
|
TARGETED_DEVICE_FAMILY: "1,2"
|
|
SWIFT_VERSION: "6.0"
|
|
SWIFT_STRICT_CONCURRENCY: complete
|
|
SUPPORTS_LIVE_ACTIVITIES: YES
|
|
ENABLE_APPINTENTS_METADATA: NO
|
|
ENABLE_APP_INTENTS_METADATA_GENERATION: NO
|
|
configs:
|
|
Debug:
|
|
ASSETCATALOG_COMPILER_APPICON_NAME: AppIconDebug
|
|
CODE_SIGN_STYLE: Automatic
|
|
OPENCLAW_ACTIVE_APP_GROUP_ID: "$(OPENCLAW_DEBUG_APP_GROUP_ID)"
|
|
OPENCLAW_APP_DISPLAY_NAME: OpenClaw
|
|
OPENCLAW_CODE_SIGN_ENTITLEMENTS: Sources/OpenClaw.entitlements
|
|
OPENCLAW_APNS_ENTITLEMENT_ENVIRONMENT: development
|
|
OPENCLAW_URL_SCHEME: openclaw-debug
|
|
PRODUCT_BUNDLE_IDENTIFIER: "$(OPENCLAW_DEBUG_APP_BUNDLE_ID)"
|
|
PROVISIONING_PROFILE_SPECIFIER: ""
|
|
OPENCLAW_PUSH_MODE: localSandbox
|
|
OPENCLAW_PUSH_RELAY_BASE_URL: ""
|
|
Release:
|
|
OPENCLAW_CODE_SIGN_ENTITLEMENTS: Sources/OpenClaw.entitlements
|
|
OPENCLAW_APNS_ENTITLEMENT_ENVIRONMENT: production
|
|
OPENCLAW_PUSH_MODE: localProduction
|
|
OPENCLAW_PUSH_RELAY_BASE_URL: ""
|
|
info:
|
|
path: Sources/Info.plist
|
|
properties:
|
|
CFBundleDisplayName: "$(OPENCLAW_APP_DISPLAY_NAME)"
|
|
CFBundleIconName: "$(ASSETCATALOG_COMPILER_APPICON_NAME)"
|
|
CFBundleURLTypes:
|
|
- CFBundleURLName: ai.openclawfoundation.app
|
|
CFBundleURLSchemes:
|
|
- "$(OPENCLAW_URL_SCHEME)"
|
|
CFBundleShortVersionString: "$(OPENCLAW_MARKETING_VERSION)"
|
|
OpenClawCanonicalVersion: "$(OPENCLAW_IOS_VERSION)"
|
|
OpenClawGitCommit: "$(OPENCLAW_GIT_COMMIT)"
|
|
OpenClawBuildTimestamp: "$(OPENCLAW_BUILD_TIMESTAMP)"
|
|
OpenClawAppGroupIdentifier: "$(OPENCLAW_ACTIVE_APP_GROUP_ID)"
|
|
CFBundleVersion: "$(OPENCLAW_BUILD_VERSION)"
|
|
UILaunchScreen: {}
|
|
UIApplicationSceneManifest:
|
|
UIApplicationSupportsMultipleScenes: false
|
|
UIBackgroundModes:
|
|
- audio
|
|
- location
|
|
- remote-notification
|
|
BGTaskSchedulerPermittedIdentifiers:
|
|
- "$(PRODUCT_BUNDLE_IDENTIFIER).bgrefresh"
|
|
NSLocalNetworkUsageDescription: OpenClaw discovers and connects to your OpenClaw gateway on the local network.
|
|
NSAppTransportSecurity:
|
|
NSAllowsArbitraryLoadsInWebContent: true
|
|
NSAllowsLocalNetworking: true
|
|
NSBonjourServices:
|
|
- _openclaw-gw._tcp
|
|
NSCameraUsageDescription: OpenClaw uses the camera when you scan a Gateway setup QR code or ask your paired Gateway or assistant to capture a photo or short video from this iPhone, for example to connect to your Gateway or show your assistant a document, device screen, or workspace.
|
|
NSCalendarsUsageDescription: OpenClaw uses your calendars to show events and scheduling context when you enable calendar access.
|
|
NSCalendarsFullAccessUsageDescription: OpenClaw uses your calendars to show events and scheduling context when you enable calendar access.
|
|
NSCalendarsWriteOnlyAccessUsageDescription: OpenClaw uses your calendars to add events when you enable calendar access.
|
|
NSContactsUsageDescription: OpenClaw uses your contacts so you can search and reference people while using the assistant.
|
|
NSLocationWhenInUseUsageDescription: OpenClaw uses your location when you allow location sharing.
|
|
NSLocationAlwaysAndWhenInUseUsageDescription: OpenClaw can share your location in the background when you enable Always.
|
|
NSMicrophoneUsageDescription: OpenClaw uses the microphone for realtime chat, voice wake, push-to-talk, and voice notes.
|
|
NSMotionUsageDescription: OpenClaw may use motion data to support device-aware interactions and automations.
|
|
NSHealthShareUsageDescription: OpenClaw reads your steps, sleep, resting heart rate, and workouts from the Apple Health app to create summaries you request and send them through your Gateway to your configured AI provider.
|
|
NSHealthUpdateUsageDescription: OpenClaw does not write to the Apple Health app. It uses read-only data to create summaries you request and send them through your Gateway to your configured AI provider.
|
|
NSPhotoLibraryUsageDescription: OpenClaw lets your assistant read photos you allow and lets you choose photos to share.
|
|
PHPhotoLibraryPreventAutomaticLimitedAccessAlert: true
|
|
NSRemindersFullAccessUsageDescription: OpenClaw uses your reminders to list, add, and complete tasks when you enable reminders access.
|
|
NSSpeechRecognitionUsageDescription: OpenClaw uses on-device speech recognition for talk mode and voice wake.
|
|
NSSupportsLiveActivities: true
|
|
ITSAppUsesNonExemptEncryption: false
|
|
UIAppFonts:
|
|
- RedHatDisplay[wght].ttf
|
|
- Inter[opsz,wght].ttf
|
|
- Inter-Italic[opsz,wght].ttf
|
|
- JetBrainsMono-Regular.ttf
|
|
- JetBrainsMono-Medium.ttf
|
|
- JetBrainsMono-SemiBold.ttf
|
|
OpenClawPushMode: "$(OPENCLAW_PUSH_MODE)"
|
|
OpenClawPushRelayBaseURL: "$(OPENCLAW_PUSH_RELAY_BASE_URL)"
|
|
UISupportedInterfaceOrientations:
|
|
- UIInterfaceOrientationPortrait
|
|
- UIInterfaceOrientationPortraitUpsideDown
|
|
- UIInterfaceOrientationLandscapeLeft
|
|
- UIInterfaceOrientationLandscapeRight
|
|
OpenClawShareExtension:
|
|
type: app-extension
|
|
platform: iOS
|
|
configFiles:
|
|
Debug: Signing.xcconfig
|
|
Release: Signing.xcconfig
|
|
sources:
|
|
- path: ShareExtension
|
|
- path: Resources/Localizable.xcstrings
|
|
buildPhase: resources
|
|
dependencies:
|
|
- package: OpenClawKit
|
|
- sdk: AppIntents.framework
|
|
settings:
|
|
base:
|
|
CODE_SIGN_IDENTITY: "$(OPENCLAW_CODE_SIGN_IDENTITY)"
|
|
CODE_SIGN_ENTITLEMENTS: ShareExtension/OpenClawShareExtension.entitlements
|
|
CODE_SIGN_STYLE: "$(OPENCLAW_CODE_SIGN_STYLE)"
|
|
DEVELOPMENT_TEAM: "$(OPENCLAW_DEVELOPMENT_TEAM)"
|
|
ENABLE_APPINTENTS_METADATA: NO
|
|
ENABLE_APP_INTENTS_METADATA_GENERATION: NO
|
|
OPENCLAW_ACTIVE_APP_GROUP_ID: "$(OPENCLAW_APP_GROUP_ID)"
|
|
PRODUCT_BUNDLE_IDENTIFIER: "$(OPENCLAW_SHARE_BUNDLE_ID)"
|
|
PROVISIONING_PROFILE_SPECIFIER: "$(OPENCLAW_SHARE_PROFILE)"
|
|
TARGETED_DEVICE_FAMILY: "1,2"
|
|
SWIFT_VERSION: "6.0"
|
|
SWIFT_STRICT_CONCURRENCY: complete
|
|
configs:
|
|
Debug:
|
|
CODE_SIGN_STYLE: Automatic
|
|
OPENCLAW_ACTIVE_APP_GROUP_ID: "$(OPENCLAW_DEBUG_APP_GROUP_ID)"
|
|
PRODUCT_BUNDLE_IDENTIFIER: "$(OPENCLAW_DEBUG_SHARE_BUNDLE_ID)"
|
|
PROVISIONING_PROFILE_SPECIFIER: ""
|
|
info:
|
|
path: ShareExtension/Info.plist
|
|
properties:
|
|
CFBundleDisplayName: OpenClaw Share
|
|
CFBundleShortVersionString: "$(OPENCLAW_MARKETING_VERSION)"
|
|
OpenClawAppGroupIdentifier: "$(OPENCLAW_ACTIVE_APP_GROUP_ID)"
|
|
CFBundleVersion: "$(OPENCLAW_BUILD_VERSION)"
|
|
NSExtension:
|
|
NSExtensionPointIdentifier: com.apple.share-services
|
|
NSExtensionPrincipalClass: "$(PRODUCT_MODULE_NAME).ShareViewController"
|
|
NSExtensionAttributes:
|
|
NSExtensionActivationRule:
|
|
NSExtensionActivationSupportsText: true
|
|
NSExtensionActivationSupportsWebURLWithMaxCount: 1
|
|
NSExtensionActivationSupportsImageWithMaxCount: 10
|
|
NSExtensionActivationSupportsMovieWithMaxCount: 1
|
|
|
|
OpenClawActivityWidget:
|
|
type: app-extension
|
|
platform: iOS
|
|
configFiles:
|
|
Debug: Signing.xcconfig
|
|
Release: Signing.xcconfig
|
|
sources:
|
|
- path: ActivityWidget
|
|
- path: Sources/LiveActivity/OpenClawActivityAttributes.swift
|
|
- path: Sources/Fonts
|
|
buildPhase: resources
|
|
- path: Resources/Localizable.xcstrings
|
|
buildPhase: resources
|
|
dependencies:
|
|
- sdk: WidgetKit.framework
|
|
- sdk: ActivityKit.framework
|
|
settings:
|
|
base:
|
|
CODE_SIGN_IDENTITY: "$(OPENCLAW_CODE_SIGN_IDENTITY)"
|
|
CODE_SIGN_STYLE: "$(OPENCLAW_CODE_SIGN_STYLE)"
|
|
DEVELOPMENT_TEAM: "$(OPENCLAW_DEVELOPMENT_TEAM)"
|
|
PRODUCT_BUNDLE_IDENTIFIER: "$(OPENCLAW_ACTIVITY_WIDGET_BUNDLE_ID)"
|
|
PROVISIONING_PROFILE_SPECIFIER: "$(OPENCLAW_ACTIVITY_WIDGET_PROFILE)"
|
|
TARGETED_DEVICE_FAMILY: "1,2"
|
|
SWIFT_VERSION: "6.0"
|
|
SWIFT_STRICT_CONCURRENCY: complete
|
|
SUPPORTS_LIVE_ACTIVITIES: YES
|
|
configs:
|
|
Debug:
|
|
CODE_SIGN_STYLE: Automatic
|
|
PRODUCT_BUNDLE_IDENTIFIER: "$(OPENCLAW_DEBUG_ACTIVITY_WIDGET_BUNDLE_ID)"
|
|
PROVISIONING_PROFILE_SPECIFIER: ""
|
|
info:
|
|
path: ActivityWidget/Info.plist
|
|
properties:
|
|
CFBundleDisplayName: OpenClaw Activity
|
|
CFBundleShortVersionString: "$(OPENCLAW_MARKETING_VERSION)"
|
|
CFBundleVersion: "$(OPENCLAW_BUILD_VERSION)"
|
|
NSSupportsLiveActivities: true
|
|
UIAppFonts:
|
|
- RedHatDisplay[wght].ttf
|
|
- Inter[opsz,wght].ttf
|
|
- Inter-Italic[opsz,wght].ttf
|
|
- JetBrainsMono-Regular.ttf
|
|
- JetBrainsMono-Medium.ttf
|
|
- JetBrainsMono-SemiBold.ttf
|
|
NSExtension:
|
|
NSExtensionPointIdentifier: com.apple.widgetkit-extension
|
|
|
|
OpenClawWatchApp:
|
|
type: application
|
|
platform: watchOS
|
|
deploymentTarget: "11.0"
|
|
sources:
|
|
- path: WatchApp
|
|
excludes:
|
|
- Info.plist
|
|
- path: Sources/Services/WatchSessionActivationGate.swift
|
|
group: Sources/Services
|
|
- path: Sources/Services/ExactOpaqueIdentifier.swift
|
|
group: Sources/Services
|
|
# Universal talk waveform, compiled directly to keep the watch styling local.
|
|
- path: ../shared/OpenClawKit/Sources/OpenClawChatUI/TalkWaveformView.swift
|
|
group: Shared
|
|
# Universal mascot, compiled directly to keep the watch styling local.
|
|
- path: ../shared/OpenClawKit/Sources/OpenClawChatUI/OpenClawMascotView.swift
|
|
group: Shared
|
|
- path: ../shared/OpenClawKit/Sources/OpenClawChatUI/OpenClawMascotAnimator.swift
|
|
group: Shared
|
|
- path: ../shared/OpenClawKit/Sources/OpenClawChatUI/OpenClawMascotCanvas+Accessories.swift
|
|
group: Shared
|
|
- path: ../shared/OpenClawKit/Sources/OpenClawChatUI/ChatTypography.swift
|
|
group: Shared
|
|
- path: Sources/Fonts
|
|
buildPhase: resources
|
|
- path: Resources/Localizable.xcstrings
|
|
buildPhase: resources
|
|
dependencies:
|
|
- package: OpenClawKit
|
|
product: OpenClawKit
|
|
- sdk: AppIntents.framework
|
|
- sdk: AVFAudio.framework
|
|
- sdk: WatchConnectivity.framework
|
|
- sdk: UserNotifications.framework
|
|
configFiles:
|
|
Debug: Config/Signing.xcconfig
|
|
Release: Config/Signing.xcconfig
|
|
attributes:
|
|
DevelopmentTeam: "$(OPENCLAW_DEVELOPMENT_TEAM)"
|
|
ProvisioningStyle: "$(OPENCLAW_CODE_SIGN_STYLE)"
|
|
settings:
|
|
base:
|
|
ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon
|
|
CODE_SIGN_IDENTITY: "$(OPENCLAW_CODE_SIGN_IDENTITY)"
|
|
CODE_SIGN_STYLE: "$(OPENCLAW_CODE_SIGN_STYLE)"
|
|
DEVELOPMENT_TEAM: "$(OPENCLAW_DEVELOPMENT_TEAM)"
|
|
ENABLE_APPINTENTS_METADATA: NO
|
|
ENABLE_APP_INTENTS_METADATA_GENERATION: NO
|
|
OPENCLAW_COMPANION_APP_BUNDLE_ID: "$(OPENCLAW_APP_BUNDLE_ID)"
|
|
PRODUCT_BUNDLE_IDENTIFIER: "$(OPENCLAW_WATCH_APP_BUNDLE_ID)"
|
|
PROVISIONING_PROFILE_SPECIFIER: "$(OPENCLAW_WATCH_APP_PROFILE)"
|
|
SWIFT_STRICT_CONCURRENCY: complete
|
|
SWIFT_VERSION: "6.0"
|
|
configs:
|
|
Debug:
|
|
ASSETCATALOG_COMPILER_APPICON_NAME: AppIconDebug
|
|
CODE_SIGN_STYLE: Automatic
|
|
OPENCLAW_COMPANION_APP_BUNDLE_ID: "$(OPENCLAW_DEBUG_APP_BUNDLE_ID)"
|
|
PRODUCT_BUNDLE_IDENTIFIER: "$(OPENCLAW_DEBUG_WATCH_APP_BUNDLE_ID)"
|
|
PROVISIONING_PROFILE_SPECIFIER: ""
|
|
info:
|
|
path: WatchApp/Info.plist
|
|
properties:
|
|
CFBundleDisplayName: OpenClaw
|
|
CFBundleShortVersionString: "$(OPENCLAW_MARKETING_VERSION)"
|
|
CFBundleVersion: "$(OPENCLAW_BUILD_VERSION)"
|
|
WKCompanionAppBundleIdentifier: "$(OPENCLAW_COMPANION_APP_BUNDLE_ID)"
|
|
WKApplication: true
|
|
WKPrefersNetworkUponForeground: true
|
|
NSLocalNetworkUsageDescription: OpenClaw connects this Apple Watch directly to your Gateway on trusted local networks.
|
|
UIAppFonts:
|
|
- RedHatDisplay[wght].ttf
|
|
- Inter[opsz,wght].ttf
|
|
- Inter-Italic[opsz,wght].ttf
|
|
- JetBrainsMono-Regular.ttf
|
|
- JetBrainsMono-Medium.ttf
|
|
- JetBrainsMono-SemiBold.ttf
|
|
|
|
OpenClawTests:
|
|
type: bundle.unit-test
|
|
platform: iOS
|
|
configFiles:
|
|
Debug: Signing.xcconfig
|
|
Release: Signing.xcconfig
|
|
sources:
|
|
- path: Tests
|
|
excludes:
|
|
- Logic
|
|
- path: WatchApp/Sources/WatchDeferredPayloadOrdering.swift
|
|
group: WatchApp/Sources
|
|
dependencies:
|
|
- target: OpenClaw
|
|
- package: Swabble
|
|
product: SwabbleKit
|
|
- sdk: AppIntents.framework
|
|
settings:
|
|
base:
|
|
CODE_SIGN_IDENTITY: "$(OPENCLAW_CODE_SIGN_IDENTITY)"
|
|
CODE_SIGN_STYLE: "$(OPENCLAW_CODE_SIGN_STYLE)"
|
|
DEVELOPMENT_TEAM: "$(OPENCLAW_DEVELOPMENT_TEAM)"
|
|
PRODUCT_BUNDLE_IDENTIFIER: "$(OPENCLAW_APP_BUNDLE_ID).tests"
|
|
ENABLE_APP_INTENTS_METADATA_GENERATION: NO
|
|
SWIFT_VERSION: "6.0"
|
|
SWIFT_STRICT_CONCURRENCY: complete
|
|
TEST_HOST: "$(BUILT_PRODUCTS_DIR)/OpenClaw.app/OpenClaw"
|
|
BUNDLE_LOADER: "$(TEST_HOST)"
|
|
configs:
|
|
Debug:
|
|
PRODUCT_BUNDLE_IDENTIFIER: "$(OPENCLAW_DEBUG_APP_BUNDLE_ID).tests"
|
|
info:
|
|
path: Tests/Info.plist
|
|
properties:
|
|
CFBundleDisplayName: OpenClawTests
|
|
CFBundleShortVersionString: "$(OPENCLAW_MARKETING_VERSION)"
|
|
CFBundleVersion: "$(OPENCLAW_BUILD_VERSION)"
|
|
|
|
OpenClawLogicTests:
|
|
type: bundle.unit-test
|
|
platform: iOS
|
|
configFiles:
|
|
Debug: Signing.xcconfig
|
|
Release: Signing.xcconfig
|
|
sources:
|
|
- path: Tests/Logic
|
|
- path: ShareExtension/ShareDraftComposer.swift
|
|
group: ShareExtension
|
|
- path: ShareExtension/ShareComposeState.swift
|
|
group: ShareExtension
|
|
- path: ShareExtension/ShareAttachmentSummary.swift
|
|
group: ShareExtension
|
|
- path: WatchApp/Sources/WatchVoiceTurnTracker.swift
|
|
group: WatchApp/Sources
|
|
- path: WatchApp/Sources/WatchInboxMessages.swift
|
|
group: WatchApp/Sources
|
|
- path: WatchApp/Sources/WatchMascot.swift
|
|
group: WatchApp/Sources
|
|
- path: ../shared/OpenClawKit/Sources/OpenClawChatUI/OpenClawMascotView.swift
|
|
group: Shared
|
|
- path: ../shared/OpenClawKit/Sources/OpenClawChatUI/OpenClawMascotAnimator.swift
|
|
group: Shared
|
|
- path: ../shared/OpenClawKit/Sources/OpenClawChatUI/OpenClawMascotCanvas+Accessories.swift
|
|
group: Shared
|
|
- path: ../shared/OpenClawKit/Sources/OpenClawChatUI/ChatTypography.swift
|
|
group: Shared
|
|
- path: Sources/Services/ExactOpaqueIdentifier.swift
|
|
group: Sources/Services
|
|
dependencies:
|
|
- package: OpenClawKit
|
|
settings:
|
|
base:
|
|
CODE_SIGN_IDENTITY: "$(OPENCLAW_CODE_SIGN_IDENTITY)"
|
|
CODE_SIGN_STYLE: "$(OPENCLAW_CODE_SIGN_STYLE)"
|
|
DEVELOPMENT_TEAM: "$(OPENCLAW_DEVELOPMENT_TEAM)"
|
|
PRODUCT_BUNDLE_IDENTIFIER: "$(OPENCLAW_APP_BUNDLE_ID).logic-tests"
|
|
ENABLE_APP_INTENTS_METADATA_GENERATION: NO
|
|
SWIFT_EMIT_CONST_VALUE_PROTOCOLS: ""
|
|
SWIFT_VERSION: "6.0"
|
|
SWIFT_STRICT_CONCURRENCY: complete
|
|
configs:
|
|
Debug:
|
|
PRODUCT_BUNDLE_IDENTIFIER: "$(OPENCLAW_DEBUG_APP_BUNDLE_ID).logic-tests"
|
|
info:
|
|
path: Tests/Info.plist
|
|
properties:
|
|
CFBundleDisplayName: OpenClawLogicTests
|
|
CFBundleShortVersionString: "$(OPENCLAW_MARKETING_VERSION)"
|
|
CFBundleVersion: "$(OPENCLAW_BUILD_VERSION)"
|
|
|
|
OpenClawUITests:
|
|
type: bundle.ui-testing
|
|
platform: iOS
|
|
configFiles:
|
|
Debug: Signing.xcconfig
|
|
Release: Signing.xcconfig
|
|
sources:
|
|
- path: UITests
|
|
dependencies:
|
|
- target: OpenClaw
|
|
settings:
|
|
base:
|
|
CODE_SIGN_IDENTITY: "$(OPENCLAW_CODE_SIGN_IDENTITY)"
|
|
CODE_SIGN_STYLE: "$(OPENCLAW_CODE_SIGN_STYLE)"
|
|
DEVELOPMENT_TEAM: "$(OPENCLAW_DEVELOPMENT_TEAM)"
|
|
PRODUCT_BUNDLE_IDENTIFIER: "$(OPENCLAW_APP_BUNDLE_ID).ui-tests"
|
|
SDKROOT: iphoneos
|
|
SUPPORTED_PLATFORMS: "iphonesimulator iphoneos"
|
|
SUPPORTS_MACCATALYST: NO
|
|
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD: NO
|
|
TEST_TARGET_NAME: OpenClaw
|
|
SWIFT_VERSION: "5.0"
|
|
configs:
|
|
Debug:
|
|
PRODUCT_BUNDLE_IDENTIFIER: "$(OPENCLAW_DEBUG_APP_BUNDLE_ID).ui-tests"
|
|
info:
|
|
path: UITests/Info.plist
|
|
properties:
|
|
CFBundleDisplayName: OpenClawUITests
|
|
CFBundleShortVersionString: "$(OPENCLAW_MARKETING_VERSION)"
|
|
CFBundleVersion: "$(OPENCLAW_BUILD_VERSION)"
|