An example of how to use Apple development GitHub Actions
-
Get App Store Team ID from: https://developer.apple.com/account#MembershipDetailsCard
-
Store App Store Team ID in GitHub Secret:
APPSTORE_TEAM_ID
-
Create Identifier for App IDs https://developer.apple.com/account/resources/identifiers/list
-
Store in GitHub Secret:
BUNDLE_ID
-
Create App Store Connect API https://appstoreconnect.apple.com/access/api
-
Store Issuer ID in GitHub Secret:
APPSTORE_ISSUER_ID
-
Generate API Key with Access
App Manager
-
Store Key ID in GitHub Secret:
APPSTORE_KEY_ID
-
Store Private Key in GitHub Secret:
APPSTORE_PRIVATE_KEY
-
Generate a Private Key for signing:
openssl genrsa -out mykey.key 2048
-
Generate a Certificate Signing Request:
export EMAIL=YOUR_EMAIL export NAME="YOUR_NAME" openssl req -new -key mykey.key -out CertificateSigningRequest.certSigningRequest -subj "/emailAddress=$EMAIL, CN=$NAME, C=US"
-
Add a new Certificate of Apple Development https://developer.apple.com/account/resources/certificates/add
-
Upload the
CertificateSigningRequest.certSigningRequest
-
Download the certificate
-
Convert the cert to PEM format:
openssl x509 -in development.cer -inform DER -out development.pem -outform PEM
-
Add a new Certificate of Apple Distribution https://developer.apple.com/account/resources/certificates/add
-
Upload the
CertificateSigningRequest.certSigningRequest
-
Download the certificate
-
Convert the cert to PEM format:
openssl x509 -in distribution.cer -inform DER -out distribution.pem -outform PEM
-
Combine the two certs:
cat development.pem distribution.pem > cert.pem
-
Export the p12 remembering the password:
openssl pkcs12 -export -legacy -inkey mykey.key -in cert.pem -out cert.p12
-
Store the password in GitHub Secret:
CERTIFICATES_PASSWORD
-
Convert the cert to Base64 and store in GitHub Secret:
CERTIFICATES_P12
base64 cert.p12
-
Create
iOS App Development
Provisioning Profile: https://developer.apple.com/account/resources/profiles/add -
Store the name of the provisioning profile in GitHub Secret:
DEV_PROVISIONING_PROFILE_NAME
-
Create
App Store
Provisioning Profile: https://developer.apple.com/account/resources/profiles/add -
Store the name of the provisioning profile in GitHub Secret:
DIST_PROVISIONING_PROFILE_NAME