Mac App Store Dev
The Mac App Store (MAS) Dev build is only required to test certain features that are exclusive to
the MAS. In general, you should use the main build instructions (using npm run electron
) unless
you have a specific reason for needing the MAS build.
Setup
These steps can be quite tricky. If you encounter any difficulties, post in the #team-eng
Slack
channel for assistance.
Xcode
-
Install Xcode from the App Store.
-
Login with your AppleID that is a member of the 8bit solutions LLC organization. This can be done from
Xcode > Preferences ... > Accounts
-
Ensure you have a personal code signing certificate assigned to Bitwarden Inc by clicking the
Bitwarden Inc
team and clickingManage Certificates...
. -
If no certificate is listed, click the plus sign (
+
) to create one.
Keychain
Verify that your Apple Keychain contains a value for AC_PASSWORD
, if not we’ll need to generate
one.
-
Login using your Apple Account on the Apple-ID website.
-
Click on “App-Specific Passwords”
-
And then click on the
+
icon next toPasswords
to add a new App-Specific Password. -
Save the new App-specific password using
security add-generic-password -a "<apple_id>" -w "<app_specific_password>" -s "AC_PASSWORD"
Provisioning Profile
-
Ask DevOps (@DevOps in slack) to have your
Apple Development
signing certificate added to the provisioning profile, and your MacProvisioning UDID
added to the whitelist. TheProvisioning UDID
can be found by going toAbout This Mac > System Report...
and copying theProvisioning UDID:
row. -
Once everything is added, download the
Bitwarden Desktop Development (2021)
provisioning profile from https://developer.apple.com/account/resources/profiles/list -
Install the provisioning profile to your device, and place it the
clients/apps/desktop
repository root.
Testing
-
Identify the name of your personal development certificate by running:
security find-identity -v | grep 'Apple Development'
-
Ensure the CSC_NAME environment variable is set by running export CSC_NAME="", the value should be the output from find-identity without the Apple Development: portion.
-
Run
npm run dist:mac:masdev
.
If this is your first time running desktop locally, be sure to run npm ci
before
npm run dist:mac:masdev
.
Troubleshoot
If you receive an error stating You do not have permission to open the application "Bitwarden".
ensure the correct provisioning profile is placed in the desktop repository root.