- Get a macintosh machine. Apple developer program require two factor authentication.
- Enroll in the apple developer program.
- Create a New Certificate https://developer.apple.com/account/resources/certificates/list type: Developer ID Application (This certificate is used to code sign your app for distribution outside of the Mac App Store.)
- Download the .cer file.
- Use Keychain Access to export Personal Information Exchange (.p12) file. https://knowledge.digicert.com/solution/SO25463.html
- Copy the .p12 file to desktop and run WalletWasabi.Packager/Content/Osx/addcert.sh => Go to terminal ./addcert.sh - might run chmod u+x addcert.sh.
- Get application specific password: https://support.apple.com/en-us/HT204397. Use label: "notarizate".
- Now you can use set up the environment.
- Get a macintosh machine.
- Create a new mac user caller Release.
- Clone WalletWasabi repository.
- Get files from zkSNACKs safe storage: macdevsign.p12 and macsignpassw.txt. Copy them to desktop.
- Run WalletWasabi.Packager/Content/Osx/addcert.sh => Go to terminal ./addcert.sh - might run chmod a+rx addcert.sh.
- Install XCode*
- Publish with dotnet to osx.
- Create the App folder, specify plist file.
- Sign with entitlements.
- Notarize.
- Staple.
- Create the dmg file.
- Sign with entitlements.
- Notarize.
- Staple.
- Dmg ready to distribute.
- #2886
- https://github.com/btcpayserver/BTCPayServer.Vault/blob/master/Build/travis/applesign.sh
- https://github.com/zkSNACKs/WalletWasabi/pull/928/commits/e38ed672dee25f6e45a3eb16584887cc6d48c4e6#diff-fcfcbe3692989568120c615d76ece2b2
- https://developer.apple.com/library/archive/technotes/tn2206/_index.html
- https://developer.apple.com/developer-id/
(The altool and stapler command-line tools (included within Xcode) allow you to upload your software to the Apple notary service, and to staple the resulting ticket to your executable. altool is located at /Applications/Xcode.app/Contents/Developer/usr/bin/altool.). Unfortunately it is not enough to install Command Line Tool for XCode.
- Wild specificaiton for the icon:
- 1024x1024 size
- 98px padding
- BoxShadow params: x:0, y:5, Blur:25, Spread:0, Color:000000, Transparency:50%
- #2951
- Get a Mac
- Install create-dmg https://github.com/andreyvit/create-dmg
- Create a folder called somewhere called wasabidmg
- Get
Wasabi Wallet.app
for example you can download the latest release and extract it from dmg(7zip). Then copy it under wasabidmg. - Copy the following two files under wasabidmg Logo_with_text_small.png and WasabiLogo.icns
- Open terminal at wasabidmg
- Set the version number in the following command and run it
create-dmg --volname "Wasabi Wallet" --volicon "WasabiLogo.icns" --background "Logo_with_text_small.png" --window-pos 200 120 --window-size 600 440 --icon "Wasabi Wallet.app" 110 150 --app-drop-link 500 150 --hdiutil-verbose "Wasabi.dmg" "Wasabi Wallet.app/"
- Dmg file is created under wasabidmg
- Copy the dmg to windows computer, extract(7zip) DS_Store file and copy it to
WalletWasabi\WalletWasabi.Packager\Content\Osx\Dmg\DS_Store.dat
- add the extension .dat to prevent macOs overwriting the file. - Copy the new background PNG to
WalletWasabi\WalletWasabi.Packager\Content\Osx\Dmg\.background
- Now you can run the packager procedure