The wallet switching user experience is currently sub par on all platform. You must either manipulate folders (and risk screwing up) or use the command line.
I offer here a nicer solution for Mac Os X: Use one Bitcoin.app per wallet, and put the wallet inside the application bundle.
It creates a standalone, portable Bitcoin.app that can be copied around and run as is on any Mac, or stored on an encrypted partition.
Here's the procedure
to create a new, empty wallet (it could be automated, but I'm not there yet).
1) Create a copy of the Bitcoin.app and put it in your encrypted partition (let's call it BitSafe.app, for a "bank safe"-type wallet).
2) open the terminal (Terminal.app) and type
cd /Path/To/Your/Encypted/Volume/BitSafe.app/Contents/Resources
mkdir data
cd ../macOS
cat > start.sh
#! /bin/sh
dir1=$(cd "$(dirname "$0")"; pwd)
dir=`echo $dir1 | sed 's/"/\\"/g' | tr -d '\n'`
data="$dir/../Resources/data"
"$dir"/bitcoin -datadir="$data"
then press
ctrl + d.
3) Again, from the prompt, type
chmod +x start.sh to make the script executable.
4) now, we must edit the Info.plist file in order to tell OS X to launch our script instead of directly running the bitcoin binary. Type
nano ../Info.plist . From there, find the following lines
CFBundleExecutable
bitcoin
and replace
bitcoin with
start.sh .
You should also change the
Bitcoin strings corresponding to the
CFBundleDisplayName and
CFBundleName to
BitSafe (or whatever strikes your fancy). This will change the Application name in the menu bar.
Once you're done, press
ctrl + o,
return then
ctrl + x6) Save a backup copy of the file (it will wake it easier to create new integrated App+Wallet bundles).
You can now open BitSafe.app. A new wallet will be generated inside BistSafe.app. You can have as many of them as you like, and you can move them around for backups and so on.
If you want to
copy an existing wallet (located by default in
/Users/YourUserName/Library/Application Support/Bitcoin), you must go inside the Bitcoin.app package. From the Finder, right click on
Bitsafe.app and pick the
"Show Package Contents" option. It will an open new Finder window. From there, go to
Contents/Resources/data . You can paste your wallet.dat and other resource files here.
Updating the Bitcoin client:If a new version of the BitCoin client is released, you can update the binary inside the Bundle. Right click the new Bitcoin.app file and choose
Show Package Contents. From there, copy the
bitcoin file located in
Contents/MacOS/ file and paste it at the same place inside the BitSafe.app package.
Note: I've tried to change the LSMultipleInstancesProhibited from true to false, but it doesn't allow to run multiple Bitcoin clients simultaneously (even if I change the CFBundelIdentifier entry). I'd love to know if it is possible to overrule that behaviour?