All Watch app files have been created and are ready:
- ✅
HushMapWatch Watch App/HushMapWatchApp.swift- Main app entry point - ✅
HushMapWatch Watch App/ContentView.swift- Tab-based main view - ✅
HushMapWatch Watch App/Views/GlanceView.swift- Quiet score dashboard - ✅
HushMapWatch Watch App/Views/LogView.swift- Quick log interface - ✅
HushMapWatch Watch App/Models/Place.swift- Place data model - ✅
HushMapWatch Watch App/Managers/WCSessionManager.swift- Watch connectivity manager - ✅
HushMap/Services/WatchConnectivityService.swift- iPhone-side handler
- Open
HushMap.xcodeprojin Xcode - Click the "+" button at the bottom of the target list
- Select "watchOS" → "Watch App for iOS App"
- Name it "HushMapWatch"
- Select "HushMap" as the companion iOS app
- IMPORTANT: Choose "SwiftUI" and uncheck "Include Notification Scene"
- Delete the automatically generated files
- Add the existing Watch app folder to the target:
- Right-click on HushMapWatch target
- Add Files to "HushMapWatch"
- Select the "HushMapWatch Watch App" folder
- Ensure "Copy items if needed" is UNCHECKED
- Add to HushMapWatch target
If you prefer to manually add the target to the project file, you'll need to:
- Add a new native target to
HushMap.xcodeproj/project.pbxproj - Set
WATCHOS_DEPLOYMENT_TARGETto10.0or higher - Add all Watch app source files to the target's build phases
Make sure to add these capabilities in Xcode:
- iOS App: Background Modes (for Watch Connectivity)
- Watch App: WatchKit App
After adding the target:
- Build the iOS app first:
⌘+B - Select the HushMapWatch scheme
- Choose a Watch simulator (e.g., Apple Watch Series 9 45mm)
- Run the Watch app:
⌘+R - The Watch app should connect to the iPhone app automatically
- GlanceView: Shows real-time quiet score and nearest place
- LogView: Quick "Quiet" or "Noisy" logging buttons
- Auto-sync: Queues logs when offline, syncs when iPhone is reachable
- Haptic feedback: Success/notification feedback on logging
Watch App (WCSessionManager)
↕ WatchConnectivity
iPhone App (WatchConnectivityService)
↕ SwiftData
Report Database
- Build both targets to verify setup
- Test on simulators
- Test on physical devices (requires developer account)
- Submit to App Store as a bundle