Update projects code signing settings from your provisioning profile

You should check out the code signing guide before using this action.
This action retrieves a provisioning profile UUID from a provisioning profile (.mobileprovision) to set up the Xcode projects' code signing settings in *.xcodeproj/project.pbxproj.
The :target_filter value can be used to only update code signing for the specified targets.
The :build_configuration value can be used to only update code signing for the specified build configurations of the targets passing through the :target_filter.
Example usage is the WatchKit Extension or WatchKit App, where you need separate provisioning profiles.
Example: update_project_provisioning(xcodeproj: "..", target_filter: ".*WatchKit App.*").

Supported platforms ios, mac
Author @tobiasstrebitzer, @czechboy0

1 Example

  xcodeproj: "Project.xcodeproj",
  profile: "./watch_app_store.mobileprovision", # optional if you use sigh
  target_filter: ".*WatchKit Extension.*", # matches name or type of a target
  build_configuration: "Release",
  code_signing_identity: "iPhone Development" # optionally specify the codesigning identity


Key Description Default
xcodeproj Path to your Xcode project
profile Path to provisioning profile (.mobileprovision) *
target_filter A filter for the target name. Use a standard regex
build_configuration_filter Legacy option, use 'target_filter' instead
build_configuration A filter for the build configuration name. Use a standard regex. Applied to all configurations if not specified
certificate Path to apple root certificate /tmp/AppleIncRootCertificate.cer
code_signing_identity Code sign identity for build configuration

* = default value is dependent on the user's system


To show the documentation in your terminal, run

fastlane action update_project_provisioning


It is recommended to add the above action into your Fastfile, however sometimes you might want to run one-offs. To do so, you can run the following command from your terminal

fastlane run update_project_provisioning

To pass parameters, make use of the : symbol, for example

fastlane run update_project_provisioning parameter1:"value1" parameter2:"value2"

It's important to note that the CLI supports primitive types like integers, floats, booleans, and strings. Arrays can be passed as a comma delimited string (e.g. param:"1,2,3"). Hashes are not currently supported.

It is recommended to add all fastlane actions you use to your Fastfile.

Source code

This action, just like the rest of fastlane, is fully open source, view the source code on GitHub

Back to actions