openclaw/apps/ios/Tests
Val Alexander 6db2ee6583
fix(ios): restore privacy permission prompts
Restores first-use iOS authorization prompts for Contacts, Calendar, and Reminders by adding the missing usage descriptions, requesting access from `.notDetermined` in the service paths, and adding Settings Privacy & Access status/actions.

Verification:
- `plutil -lint apps/ios/Sources/Info.plist apps/ios/Tests/Info.plist apps/ios/ShareExtension/Info.plist apps/ios/ActivityWidget/Info.plist apps/ios/WatchApp/Info.plist apps/ios/WatchExtension/Info.plist`
- `swiftformat --lint apps/ios/Sources/Permissions/PermissionRequestBridge.swift apps/ios/Sources/Contacts/ContactsService.swift apps/ios/Sources/Calendar/CalendarService.swift apps/ios/Sources/Reminders/RemindersService.swift apps/ios/Sources/Settings/PrivacyAccessSectionView.swift apps/ios/Sources/Settings/SettingsTab.swift apps/ios/Sources/Onboarding/GatewayOnboardingView.swift apps/shared/OpenClawKit/Sources/OpenClawKit/DeepLinks.swift --config config/swiftformat`
- `swiftlint lint --config apps/ios/.swiftlint.yml apps/ios/Sources/Permissions/PermissionRequestBridge.swift apps/ios/Sources/Contacts/ContactsService.swift apps/ios/Sources/Calendar/CalendarService.swift apps/ios/Sources/Reminders/RemindersService.swift apps/ios/Sources/Settings/PrivacyAccessSectionView.swift apps/ios/Sources/Settings/SettingsTab.swift apps/ios/Sources/Onboarding/GatewayOnboardingView.swift apps/ios/Tests/PermissionRequestBridgeTests.swift`
- `git diff --check origin/main...HEAD`
- `rg '<<<<<<<|=======|>>>>>>>' CHANGELOG.md apps/ios apps/shared/OpenClawKit/Sources/OpenClawKit/DeepLinks.swift`
- `pnpm ios:build`
- `xcodebuild test -project apps/ios/OpenClaw.xcodeproj -scheme OpenClaw -destination 'platform=iOS Simulator,name=iPhone 17' -configuration Debug -only-testing:OpenClawTests/PermissionRequestBridgeTests`
- Fresh-erased iPhone 17 simulator proof for Contacts denial/Open Settings, Calendar add-only/full-access upgrade, and Reminders authorization prompts.

Not tested: physical device, or a paired gateway command invocation after onboarding.
2026-05-13 23:45:35 -05:00
..
Logic
AppCoverageTests.swift
BackgroundAliveBeaconTests.swift
CameraControllerClampTests.swift
CameraControllerErrorTests.swift
DeepLinkParserTests.swift
ExecApprovalNotificationBridgeTests.swift
GatewayConnectionControllerTests.swift
GatewayConnectionIssueTests.swift
GatewayConnectionSecurityTests.swift
GatewayDiscoveryModelTests.swift
GatewayEndpointIDTests.swift
GatewaySettingsStoreTests.swift
GatewayStatusBuilderTests.swift
Info.plist
IOSGatewayChatTransportTests.swift
KeychainStoreTests.swift
NodeAppModelInvokeTests.swift
OnboardingStateStoreTests.swift
OpenClawAppDelegateTests.swift
PermissionRequestBridgeTests.swift
RootCanvasPresentationTests.swift
ScreenControllerTests.swift
ScreenRecordServiceTests.swift
SettingsNetworkingHelpersTests.swift
ShareToAgentDeepLinkTests.swift
SwiftUIRenderSmokeTests.swift
TalkModeConfigParsingTests.swift
TalkModeIncrementalSpeechBufferTests.swift
TalkSpeechLocaleTests.swift
TestDefaultsSupport.swift
VoiceWakeGatewaySyncTests.swift
VoiceWakeManagerExtractCommandTests.swift
VoiceWakeManagerStateTests.swift
VoiceWakePreferencesTests.swift