Caution
This repository contains a new native iOS app which is not ready for production.
- Open Bitkit.xcodeproj in XCode
- Build
To produce an E2E build (uses the local Electrum backend), pass the E2E_BUILD compilation flag:
xcodebuild -workspace Bitkit.xcodeproj/project.xcworkspace \
-scheme Bitkit \
-configuration Debug \
SWIFT_ACTIVE_COMPILATION_CONDITIONS='$(inherited) E2E_BUILD' \
buildLocalization files are synced from Transifex. Use bitkit-transifex-sync to sync the translations.
This checks for missing translations and validates that all translation keys used in the Swift code exist in the .strings files. (This check is also automated in GitHub Actions)
node scripts/validate-translations.jsThis project uses SwiftFormat for code formatting. Configuration is in .swiftformat.
Install SwiftFormat:
brew install swiftformatIDE Extensions:
Format code:
swiftformat .The project includes git hooks to automatically check code formatting before commits.
Set up git hooks:
- Install git-format-staged:
npm install -g git-format-staged - Run:
./scripts/setup-hooks.sh
This installs a pre-commit hook that lints Swift files with SwiftFormat.
Due to the Rust dependencies in the project, Xcode previews are only compatible with iOS 17 and below.