@@ -59,7 +59,7 @@ class Keychain
5959 # Local devs will not have KEYCHAIN_PASSWORD set, and will be prompted for password.
6060 return "login.keychain-db" unless ENV [ 'KEYCHAIN_PASSWORD' ]
6161 # We user the same keychain every time because we need to set a default.
62- @name = "#{ name } .keychain-db"
62+ @name = "#{ name } -TEST .keychain-db"
6363 @pass = ENV [ 'KEYCHAIN_PASSWORD' ]
6464 Fastlane ::Actions ::CreateKeychainAction . run (
6565 name : @name ,
@@ -68,14 +68,12 @@ class Keychain
6868 # Fastlane can't find the signing cert without setting a default.
6969 default_keychain : true ,
7070 # Deleting the keychain would cause race condition for parallel jobs.
71- require_create : false ,
71+ require_create : true ,
7272 # Lock it up after 25 minutes just in case we don't delete it.
7373 lock_when_sleeps : true ,
7474 lock_after_timeout : true ,
7575 timeout : 1500
7676 )
77- # Fix certificate access permissions
78- Fastlane ::Actions . sh ( "security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k #{ pass } #{ @name } " )
7977 end
8078end
8179
@@ -108,6 +106,13 @@ def build_ios_adhoc(readonly: false, pr_build: false)
108106
109107 kc = Keychain . new ( 'fastlane' )
110108
109+ # recreate keychain
110+ sh ( "security delete-keychain #{ kc . name } " , error_callback : -> ( result ) { } )
111+ sh ( "security create-keychain -p #{ kc . pass } #{ kc . name } " )
112+ sh ( "security set-keychain-settings -t 3600 -l #{ kc . name } " )
113+ sh ( "security unlock-keychain -p #{ kc . pass } #{ kc . name } " )
114+ sh ( "security list-keychains -d user -s login.keychain #{ kc . name } " )
115+
111116 match (
112117 type : 'adhoc' ,
113118 readonly : readonly ,
@@ -118,6 +123,12 @@ def build_ios_adhoc(readonly: false, pr_build: false)
118123 keychain_password : kc . pass
119124 )
120125
126+ # Fix certificate access permissions
127+ sh ( "security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k #{ kc . pass } #{ kc . name } " )
128+
129+ # Debug
130+ sh ( "security find-identity -v -p codesigning #{ kc . name } " )
131+
121132 build_ios_app (
122133 scheme : scheme ,
123134 workspace : 'ios/StatusIm.xcworkspace' ,
@@ -217,6 +228,13 @@ platform :ios do
217228 lane :release do
218229 kc = Keychain . new ( 'fastlane' )
219230
231+ # recreate keychain
232+ sh ( "security delete-keychain #{ kc . name } " , error_callback : -> ( result ) { } )
233+ sh ( "security create-keychain -p #{ kc . pass } #{ kc . name } " )
234+ sh ( "security set-keychain-settings -t 3600 -l #{ kc . name } " )
235+ sh ( "security unlock-keychain -p #{ kc . pass } #{ kc . name } " )
236+ sh ( "security list-keychains -d user -s login.keychain #{ kc . name } " )
237+
220238 match (
221239 type : 'appstore' ,
222240 readonly : true ,
@@ -226,6 +244,12 @@ platform :ios do
226244 keychain_password : kc . pass
227245 )
228246
247+ # Fix certificate access permissions
248+ sh ( "security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k #{ kc . pass } #{ kc . name } " )
249+
250+ # Debug
251+ sh ( "security find-identity -v -p codesigning #{ kc . name } " )
252+
229253 build_ios_app (
230254 scheme : 'StatusIm' ,
231255 workspace : 'ios/StatusIm.xcworkspace' ,
0 commit comments