Mac access required!
- Use XCode to generate new certificates (Preferences/accounts/ManageCertificates... or do it from https://developer.apple.com/account/resources/certificates/list):
- Apple Development => Local Dev
- Apple Distribution => Distribute to store and dmg (?)
- (???) Mac Installer Distribution => Distribute to store
- Import new certificates into keychain
- Use mac "Keychain Access" app to generate
all-certs.cer
from all 4 certs and the 3 key private keys:Mac Installer Submission
,Apple Distribution
,Apple Development
,3rd Party Mac Developer Installer
,Apple Distribution
,Apple Development
andDeveloper ID Application
(maybe 2 of the certs and 1 of the keys is not needed) and remember to copy certs password to GitHub ENV. ALSO DON'T WORRY! YOU NEED TO ENTER YOUR PASSWORD ABOUT 7 TIMES. HINT: Select "My Certificates" from tab-bar to show what certificate belongs to which key. base64 -i all-certs.p12 -o all-certs.txt
- Update
MAC_CERTS
with value
IMPORTANT NOTE: These must be created after the certificate step, since they include the certificates!
- Go to https://developer.apple.com/account/resources/profiles/list
- Create new "Mac App Store Connect" (store) and "Developer ID" (dmg) Profile
- Download and move to tools/mac-profiles (HINT: take care that the IDE or editor does not mess up the white-spaces) and rename them to
dl.provisionprofile
andmas.provisionprofile
. - Use
base64 -i dl.provisionprofile -o dmg-profile.txt && base64 -i mas.provisionprofile -o MAS-profile.txt
to get string for CI - Update
DL_PROVISION_PROFILE
andMAS_PROVISION_PROFILE
See: https://www.electron.build/code-signing.html https://www.electronjs.org/docs/tutorial/mac-app-store-submission-guide
Create app specific password at https://appleid.apple.com/account/manage Run:
APPLEID=XXX APPLEIDPASS=XXX rm -Rf app-builds; npm run build; npm run dist:mac:dl