Make Fastlane match use circle.keychain

fastlane
xcode
xcodebuild
match
keychain

#1

Some users have complained about builds using Fastlane being stuck since we shipped the Xcode 8.3 image which includes a OS bump to macOS Sierra.

The symptoms are can be many but the underlying issue is always the same: macOS Sierra changed the way code signing credentials are handled and it basically boils down to: Fastlane puts the credentials into your keychain but codesign is trying to access them. macOS Sierra considers this an access violation and denies access.
In order to work around this issue right now you can specify the keychain Fastlane match is supposed to use by declaring the FASTLANE_KEYCHAIN_NAME as well as the FASTLANE_KEYCHAIN_PASSWORD environment variables like this:

machine:
  environment:
    MATCH_KEYCHAIN_NAME: "circle"
    MATCH_KEYCHAIN_PASSWORD: "circle"

If you run into further issues with this please let us know either here or by opening a support ticket.


"Running script '[CP] Embed Pods Frameworks' " not running and time out
#2

@Tzeejay is it FASTLANE_KEYCHAIN_NAME or MATCH_KEYCHAIN_NAME that is suppose to be used by fastlane?

I noticed that circle started to set MATCH_KEYCHAIN_NAME for all macOs builds (7.3 ad 8.3 in my case) automatically recently. While it is used by match, it is not used by gym causing signing errors: Code signing is required for product type 'Application' in SDK 'iOS 10.3'

I tried adding security list-keychains -s circle to circle.yml before running fastlane in hope that it will be used as default keychain for all tools, while match continue to use MATCH_KEYCHAIN_NAME var. This caused Could not install WWDR certificate error from match.


#3

Looks like in my case problems stemmed from prior use of security list-keychains -s login.keychain command in circle.yml. I removed it and everything is working.


#4

Hey Andrey,

This only works for Match as far as I know, therefore it is MATCH_KEYCHAIN_...

Best,
Constantin


#5