Alright after some digging I've found the solution. My CI server was Travis, not Azure though.
With this setup you need to stop using Automatic code signing and select the match
provisioning profile in your project settings.
Modify your Fastfile as follows:
before_all do |lane, options|
ENV["MATCH_KEYCHAIN_NAME"] = "travis-ci"
ENV["MATCH_KEYCHAIN_PASSWORD"] = ENV["MATCH_KEYCHAIN_NAME"]
end
Insert create_keychain
before calling sync_code_signing
(a.k.a match
).
create_keychain(
name: ENV["MATCH_KEYCHAIN_NAME"],
password: ENV["MATCH_KEYCHAIN_PASSWORD"],
default_keychain: true,
unlock: true,
timeout: 3600,
add_to_search_list: true
)
sync_code_signing(
readonly: true,
keychain_name: ENV["MATCH_KEYCHAIN_NAME"],
keychain_password: ENV["MATCH_KEYCHAIN_PASSWORD"]
)
Finally, remove the keychain with delete_keychain
whenever appropriate, e.g. at the end of the lane.
Enjoy :)