Development Troubleshooting Guide
Common issues encountered during Sanctiv app development and their solutions.iOS Build Issues
Swift API Compatibility: onGeometryChange Not Available
Symptom:
- Expo SDK 53’s
expo-modules-coreusesonGeometryChangeSwiftUI API - This API was introduced in iOS 18.0
- Build fails when using Xcode versions older than 16.0 (which lack iOS 18 SDK)
- PR #63 - Original fix implementation
- GitHub Actions workflow
Dependency Management
Lockfile Out of Sync
Symptom:- CI builds fail despite updating
package.json - Installed packages don’t match versions in
package.json expo doctorshows warnings about mismatched versions
bun.lock(lockfile) wasn’t regenerated after updatingpackage.json- Package managers install versions from lockfile, not
package.json
bun install after modifying package.json, even if just changing version numbers.
CI/CD Issues
Xcode Version Selection in GitHub Actions
Context: GitHub Actionsmacos-14 runners come with multiple Xcode versions pre-installed but default to an older version.
Available Versions (macos-14):
- Xcode 14.3.1
- Xcode 15.0.1
- Xcode 15.4 (default)
- Xcode 16.0
- Xcode 16.1
Testing
E2E Tests Failing Locally
Symptom: Maestro E2E tests pass in CI but fail locally Common Causes:-
iOS Simulator Not Running:
-
App Not Installed:
-
Maestro CLI Not Installed:
Development Server
Port 8081 Already in Use
Context: Expo uses port 8081 by default for the development server. Solution: If port 8081 is already in use:-
Find the process using the port:
-
Kill the process if it’s not needed:
-
Or restart the Expo server:
Expo / Metro Bundler
”Unable to resolve module” Errors
Solution:Git Workflow
Remote Configuration
Context: Sanctiv uses GitHub for version control. Verify Remote:Additional Resources
- Setup Guide - Development environment setup
- Testing Guide - Comprehensive testing documentation
- CLAUDE.md - AI agent development guidelines
- docs/README.md - Documentation hub
Last Updated: 2025-11-08
Maintainer: Development Team