A fastlane plugin to help you sign your iOS builds
Fastlane plugin which enables iOS workflows to change the Xcode project's code signing settings before building a target, being your "cosigner".
cosigner
has long been integrated into fastlane, and as such is considered deprecated and will no longer receive updates. Please use fastlane's update_code_signing_settings action instead. ?
This action is especially useful to avoid having to configure the Xcode project with a "static" set of code signing configurations for:
By being able to configure this before each build (e.g. gym call), it allows having separate sets of code signing configurations on the same project without being "intrusive".
Some practical scenarios can be for example:
fastlane add_plugin cosigner
on your project folder.cosigner
in your Fastfile and provide the required options.Option | Description | Environment Variable | Default | Optional |
---|---|---|---|---|
xcodeproj_path |
The Xcode project's path | PROJECT_PATH |
||
scheme |
The Xcode project's scheme | SCHEME |
||
build_configuration |
Build configuration ("Debug", "Release", ...) | BUILD_CONFIGURATION |
||
code_sign_style |
Code signing style ("Automatic", "Manual ") (Xcode 8+, previously provisioning_style ) |
CODE_SIGN_STYLE (previously PROVISIONING_STYLE ) |
"Manual" | |
code_sign_identity |
Code signing identity type ("iPhone Development", "iPhone Distribution") | CODE_SIGN_IDENTITY |
"iPhone Distribution" | |
profile_name |
Provisioning profile name to use for code signing (Xcode 8+) | PROVISIONING_PROFILE_SPECIFIER |
||
profile_uuid |
Provisioning profile UUID to use for code signing (Xcode 7 and earlier) | PROVISIONING_PROFILE |
✔️ | |
development_team |
Development team identifier | TEAM_ID |
||
bundle_identifier |
Application Product Bundle Identifier | APP_IDENTIFIER |
✔️ |
.env.default
TEAM_ID=XYZ1234
SCHEME=MyAppScheme
PROJECT_PATH='/path/to/MyApp.xcodeproj'
Fastfile
lane :build do
app_identifier = "com.my.app.identifier"
configuration = "Release"
match(type: "adhoc", app_identifier: app_identifier)
cosigner(
build_configuration: configuration,
profile_name: ENV['sigh_' + app_identifier + '_adhoc_profile-name'],
profile_uuid: ENV['sigh_' + app_identifier + '_adhoc']
)
gym(
configuration: configuration,
export_options: {
method: "ad-hoc"
}
)
end
Please be aware that cosigner
effectively modifies your Xcode project file, so be careful if your workflow commits changes to source control, or if steps further down your pipeline can be affected by the resulting modifications.
See CONTRIBUTING.