This repository contains the full meteocool iOS code, including background location services, notification code and infrastructure. Supports iOS 18, 26, and 27; build with Xcode 27.
All components and interaction except the main map view are implemented natively in Swift (Swift 6 language mode). The map view and all of its data visualization features and interactions are maintained in the meteocool/core repository (ES6/Svelte).
The Xcode project is generated from project.yml by
XcodeGen and is not checked in, so
meteocool.xcodeproj never has to be edited (or merged) by hand:
brew install xcodegen
xcodegen generateEverything builds headless, without opening Xcode:
./scripts/build.sh # fast unsigned simulator build
./scripts/run.sh # build, boot a simulator, install and launch
./scripts/test.sh # UI tests
./scripts/device.sh # signed build installed on a connected iPhone
./scripts/release.sh # archive + export a signed App Store .ipaTo sign with your own Apple Developer team, copy Local.xcconfig.example to
Local.xcconfig (gitignored) and set DEVELOPMENT_TEAM and BUNDLE_PREFIX.
See CLAUDE.md for the full layout.
We welcome all contributions! If you're looking to implement a feature that is not yet on our Issues page, please create one and let's discuss. 😊
The meteocool iOS application is maintained by Nina Loser, Florian Mauracher and Valentin Dornauer.
All code is offered under the AGPL-3.0 license to encourage collaboration and open-source innovation in meteorology and earth sciences. Please be aware that we can only accept contributions if they are also licensed AGPL-3.0.
Run bash scripts/check.sh for the standalone checks. Native UI has no Swift package dependencies.
