1. Download the source code:
git clone firstname.lastname@example.org:bitcoin/bitcoin.git bitcoin
2. Install dependencies:
brew install autoconf automake libtool berkeley-db4 boost miniupnpc openssl pkg-config protobuf qt
3. After dependencies are installed, you need to make sure you have the correct version of openssl:
openssl versionYou should see OpenSSL 1.0.1h 5 Jun 2014. If you do not then, you need to ask Brew to force create the proper links:
brew link openssl --force
4. Build bitcoind:
If you encounter an error about not being able to find Boost System like I did, try force linking boost as well:
brew link boost --force
5. Verify that you can run bitcoind:
6. You will probably see an error about your bitcoin.conf file. Follow the given instructions to setup your bitcoin.conf file in the appropriate place. If you want to use Bitcoin testnet which is a good idea for development, make sure to enable that option in the bitcoin.conf file.
7. Create a new project in XCode. When it asks for the type, you can just select "Empty".
8. Add a target named bitcoind in XCode (Editor->Add Target). When it asks for a Template select "Other->External Build System". We do this because Bitcoin Core uses Makefiles. We could instead setup the build using XCode's build settings, but that would be pretty pointless from my perspective because Makefiles work just fine, and since Bitcoin Core uses the Makefile system, everything is auto configured for us. If you were to contribute to Bitcoin Core you would also need to use their Makefile system to make sure your changes work under those conditions.
9. Go to the new target settings and enter the path to your cloned Bitcoin Core code folder:
9. Try building. You should be able to build, but not run.
10. Edit the scheme to add the run executable:
11. Add the entire Bitcoin Core src folder into the project file list (Right click on the project click "Add Files").
12. Create a breakpoint to see if you can stop on it when you run the application. I made one in bitcoind.cpp just under the start of the main function:
13. Try running the application. In my case it did not stop on the breakpoint.
14. In the scheme options add a custom working directory. It should point to the src folder of the Bitcoin Core source code. This is the same folder that contains bitcoind:
15. Save your project, close XCode and reopen it. I don't know why, but for me it didn't work till I did this.
16. Run and hopefully now it hits the breakpoint. You're in!