- Xcode 26 or later
- mise — tool version manager (installs
just,xcodegen, and linters) - just — command runner used for all development tasks
- An API key for the sandbox environment (contact the team to obtain one)
Install mise, then run:
just install # installs all tools via mise + git hooksRun just in the repo root at any time to see all available commands.
Wallet.xcodeproj is not checked in — it is generated from project.yml. Generate it and open the workspace in one step:
just generate # runs xcodegen
just open # opens Wallet.xcworkspace in XcodeAlways open
Wallet.xcworkspace, neverWallet.xcodeprojdirectly. Opening the project file instead of the workspace causes Xcode to managePackage.resolvedinside .xcodeproj instead of on workspace level
Re-run just generate whenever project.yml changes (e.g. after pulling commits that modify it). The post-merge and post-checkout git hooks do this automatically.
The xcconfig files that contain API keys are gitignored and must be created locally from the provided examples. If you ran just install in step 1, this was already done for you. Otherwise, run:
just setup-configurationThis creates two files:
Configurations/Config-Debug.xcconfig— used by theWallet Demoscheme (sandbox backend)Configurations/Config-Localhost.xcconfig— used by theWallet Demo Localhostscheme (local backend)
Open each file and set API_KEY to your API key.
Never commit these files. They are listed in
.gitignoreBoth files are referenced in the generated
Wallet.xcodeprojand will appear in the project navigator automatically once they exist on disk. If they are missing, Xcode shows them with a red missing-file indicator — this is expected until you create them.
| Scheme | Config file | Backend |
|---|---|---|
Wallet Demo |
Config-Debug.xcconfig |
https://wallet.sandbox.digg.se |
Wallet Demo Localhost |
Config-Localhost.xcconfig |
https://localhost |
Select the scheme from the Xcode toolbar and run on a simulator or device.
Run just at any time to see all commands.
Source code is EUPL-1.2. Most other assets are CC0-1.0
Copies from Apple App Store are licensed under their store EULA plus our Terms of Use; that doesn’t change the EUPL license for the source.