Files
hash-wallet/docs/builds/MACOS.md
T
e4806ad141 CW948: feat: bitcoin view-only (#2261)
* feat: bitcoin view-only

* fix: add UR to cw_bitcoin, fix payjoin issue

* feat: add unsignedPsbt to PendingBitcoinTransaction

* wip

* feat: xpub restore from bitcoin URI QR

* feat(dev): debug UR codes [skip ci]

* fix: master fingerprint default in create bitcoin transaction

* fix: handle empty private key in bitcoin transaction building

* fix: show success dialog after btc ur transaction

* fix(ui): remove SP from UI in view only wallet

* fix(cw_bitcoin): tx sending on non-airgap

* fix(cw_bitcoin): disable all non-segwit addresses

* feat(ur): support BBQR for coldcard qr

* flutter 3.27.0 -> 3.27.4

* feat: raw xpub qr support for coldcard q

* fix: update ledger_bitcoin
fix: update switching button

* fix: restore button not showing up after scanning

* feat: commit raw tx (from coldcard Q)

* feat: legacy crypto-psbt support for seed signer

* chore: address comments from review

* fix(cw_bitcoin): disable sp and payjoin for cupcake

* feat: enable DNSSEC BIP353 in PSBT (#2397)

* feat: enable DNSSEC BIP353 in PSBT

* chore: put bitcoin view only behind a featureflag

* fix: update Monero wallet to work with new internal URQR return format

* feat: add "Restore from Cupcake App" option with localized strings

* feat: enable DNSSEC BIP353 in PSBT using dnssec-prover (#2401)

* fix: use dnssec-prover
chore: bump ndk to r28c

* fix: validate DNSSEC proof before updating the UI

* fix: rename button to copy debug info to not hide actions on URQR widget

---------

Co-authored-by: Konstantin Ullrich <konstantinullrich12@gmail.com>
2025-07-29 17:01:33 +03:00

3.5 KiB

Building Cake Wallet for macOS

Requirements and Setup

The following are the system requirements to build Cake Wallet for your macOS device.

macOS 15.3.1
Xcode 16.2
Flutter 3.27.4

1. Installing dependencies

For installing dependency tools you can use brew Install brew.

You may easily install them on your build system with the following command:

brew install autoconf automake binutils ccache cmake cocoapods go libtool pigz pkg-config
sudo softwareupdate --install-rosetta --agree-to-license

2. Installing Xcode

Download and install the latest version of Xcode from macOS App Store.

Run the following to properly initialize Xcode:

sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
sudo xcodebuild -runFirstLaunch

3. Installing Flutter

Install Flutter, specifically version 3.27.4 by following the official docs.

NOTE: as 3.27.4 is not the latest version, you'll need to download it from https://docs.flutter.dev/release/archive instead of the link in the docs above.

4. Installing Rust

Install Rust from the rustup.rs website.

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

5. Verify Flutter and Xcode installation

Verify that Flutter and Xcode have been correctly installed on your system with the following command:

flutter doctor

The output of this command should appear like this, indicating successful installations. If there are problems with your installation of Flutter or Xcode, they must be corrected before proceeding.

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.27.4, on macOS 15.x.x)
...
[✓] Xcode - develop for iOS and macOS (Xcode 16.2)
...

6. Acquiring the Cake Wallet source code

Download the latest release tag of Cake Wallet and enter the source code directory:

git clone https://github.com/cake-tech/cake_wallet.git --branch main
cd cake_wallet/scripts/macos/

NOTE: Replace main with the latest release tag available at https://github.com/cake-tech/cake_wallet/releases/latest.

7. Setup and build Cake Wallet from source

We need to generate project settings like app name, app icon, package name, etc, including what specific variant of the app we want to build.

To build Cake Wallet from source, run the following:

source ./app_env.sh cakewallet

For Monero.com, instead do:

source ./app_env.sh monero.com

Build the necessary libraries and their dependencies:

./build_monero_all.sh
./build_decred.sh

NOTE: This step will take quite a while, so be sure you grab a cup of coffee or a good book!

Then run the configuration script to setup app name, app icon, etc:

./app_config.sh

8. Prepare Flutter

Change back to the root directory of the Cake Wallet source code and install Flutter package dependencies:

cd ../../
flutter pub get

Generate secrets as placeholders for official API keys etc. along with localization files and mobx models:

dart run tool/generate_new_secrets.dart
dart run tool/generate_localization.dart
./model_generator.sh

9. Build

flutter build macos --release

Then you can open macos/Runner.xcworkspace with Xcode to archive the application.

If you want to run on a connected device, simply run:

flutter run