Skip to content

Commit ac6f56e

Browse files
fix: Address Comments
1 parent f404268 commit ac6f56e

File tree

4 files changed

+59
-53
lines changed

4 files changed

+59
-53
lines changed

.circleci/config.yml

+5-37
Original file line numberDiff line numberDiff line change
@@ -139,50 +139,18 @@ commands:
139139
setup-certificates:
140140
steps:
141141
- run:
142-
name: Setup Certificate and Keychain
142+
name: Install Apple Certificate and Provisioning Profile
143143
command: |
144-
# create variables
145-
CERTIFICATE_PATH=$HOME/build_certificate.p12
146-
KEYCHAIN_PATH=$HOME/app-signing.keychain-db
144+
chmod +x ./scripts/certificate_setup.sh
145+
./scripts/certificate_setup.sh setup
147146
148-
# import certificate from CircleCI context
149-
echo -n "$VERIFY_DEMO_CERT" | base64 --decode -o $CERTIFICATE_PATH
150-
151-
# create temporary keychain
152-
security create-keychain -p "$KEYCHAIN_PASS" $KEYCHAIN_PATH
153-
security set-keychain-settings -lut 21600 $KEYCHAIN_PATH
154-
security unlock-keychain -p "$KEYCHAIN_PASS" $KEYCHAIN_PATH
155-
156-
# import certificate to keychain
157-
security import $CERTIFICATE_PATH -P "$VERIFY_DEMO_CERT_PASS" -A -t cert -f pkcs12 -k $KEYCHAIN_PATH
158-
security set-key-partition-list -S apple-tool:,apple: -k "$KEYCHAIN_PASS" $KEYCHAIN_PATH
159-
security list-keychain -d user -s $KEYCHAIN_PATH
160-
- run:
161-
name: Setup Provisioning Profiles
162-
command: |
163-
setup_provisioning_profile() {
164-
local profile_var=$1
165-
local profile_path="$HOME/profile_$(basename "$profile_var").mobileprovision"
166-
167-
# decode and save the provisioning profile
168-
echo -n "${!profile_var}" | base64 --decode -o "$profile_path"
169-
170-
# create profiles directory if it doesn't exist
171-
mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles
172-
173-
# copy the profile to the correct location
174-
cp "$profile_path" ~/Library/MobileDevice/Provisioning\ Profiles/
175-
}
176-
setup_provisioning_profile "VERIFY_DEMO_PROFILE"
177-
setup_provisioning_profile "HOST_APP_PROFILE"
178-
setup_provisioning_profile "APP_SIZER_PROFILE"
179147
cleanup-signing:
180148
steps:
181149
- run:
182150
name: Clean Up Keychain and Provisioning Profile
183151
command: |
184-
security delete-keychain $HOME/app-signing.keychain-db || true
185-
rm -f ~/Library/MobileDevice/Provisioning\ Profiles/build_pp.mobileprovision || true
152+
chmod +x ./scripts/certificate_setup.sh
153+
./scripts/certificate_setup.sh cleanup
186154
187155
release:
188156
steps:

Scripts/certificate_setup.sh

+52
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
#!/bin/bash
2+
3+
set -e
4+
5+
COMMAND=$1
6+
7+
CERTIFICATE_PATH=$HOME/build_certificate.p12
8+
PP_PATH=$HOME/build_pp.mobileprovision
9+
KEYCHAIN_PATH=$HOME/app-signing.keychain-db
10+
11+
setup_certificates() {
12+
echo "Setting up Apple certificates and provisioning profiles..."
13+
14+
# Import certificate and provisioning profile from CircleCI context
15+
echo -n "$VERIFY_DEMO_CERT" | base64 --decode -o $CERTIFICATE_PATH
16+
echo -n "$VERIFY_DEMO_PROFILE" | base64 --decode -o $PP_PATH
17+
echo -n "$HOST_APP_PROFILE" | base64 --decode -o $PP_PATH
18+
echo -n "$APP_SIZER_PROFILE" | base64 --decode -o $PP_PATH
19+
20+
# Create temporary keychain
21+
security create-keychain -p "$KEYCHAIN_PASS" $KEYCHAIN_PATH
22+
security set-keychain-settings -lut 21600 $KEYCHAIN_PATH
23+
security unlock-keychain -p "$KEYCHAIN_PASS" $KEYCHAIN_PATH
24+
25+
# Import certificate to keychain
26+
security import $CERTIFICATE_PATH -P "$VERIFY_DEMO_CERT_PASS" -A -t cert -f pkcs12 -k $KEYCHAIN_PATH
27+
security set-key-partition-list -S apple-tool:,apple: -k "$KEYCHAIN_PASS" $KEYCHAIN_PATH
28+
security list-keychain -d user -s $KEYCHAIN_PATH
29+
30+
# Apply provisioning profile
31+
mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles
32+
cp $PP_PATH ~/Library/MobileDevice/Provisioning\ Profiles
33+
}
34+
35+
cleanup_signing() {
36+
echo "Cleaning up keychain and provisioning profile..."
37+
security delete-keychain $KEYCHAIN_PATH || true
38+
rm -f ~/Library/MobileDevice/Provisioning\ Profiles/build_pp.mobileprovision || true
39+
}
40+
41+
case "$COMMAND" in
42+
setup)
43+
setup_certificates
44+
;;
45+
cleanup)
46+
cleanup_signing
47+
;;
48+
*)
49+
echo "Usage: $0 {setup|cleanup}"
50+
exit 1
51+
;;
52+
esac

fastlane/Fastfile

+2-13
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,7 @@ platform :ios do
4242
if options[:ftl_devices] == 'all'
4343
ftl_devices = all_ftl_devices
4444
end
45-
# match(
46-
# type: "development",
47-
# app_identifier: ["com.twilio.verify.HostApp"]
48-
# )
45+
4946
settings_to_override = {
5047
:BUNDLE_IDENTIFIER => "com.twilio.verify.HostApp",
5148
:PROVISIONING_PROFILE_SPECIFIER => ENV["TWILIO_VERIFY_HOST_APP_PROVISIONING_PROFILE"],
@@ -105,10 +102,7 @@ platform :ios do
105102

106103
desc "Runs app sizer"
107104
lane :build_app_sizer do
108-
# match(
109-
# type: "development",
110-
# app_identifier: ["com.twilio.verify.AppSizer"]
111-
# )
105+
112106
settings_to_override = {
113107
:BUNDLE_IDENTIFIER => "com.twilio.verify.AppSizer",
114108
:PROVISIONING_PROFILE_SPECIFIER => ENV["TWILIO_APP_SIZER_PROVISIONING_PROFILE"],
@@ -253,11 +247,6 @@ platform :ios do
253247
version_number: options[:versionName]
254248
)
255249

256-
# match(
257-
# app_identifier: "com.twilio.TwilioVerifyDemo",
258-
# type: "adhoc",
259-
# readonly: true
260-
# )
261250
settings_to_override = {
262251
:BUNDLE_IDENTIFIER => "com.twilio.TwilioVerifyDemo",
263252
:PROVISIONING_PROFILE_SPECIFIER => ENV["TWILIO_VERIFY_DEMO_PROVISIONING_PROFILE"],

fastlane/Matchfile

-3
This file was deleted.

0 commit comments

Comments
 (0)