fastlane/lib/fastlane/actions/docs/get_provisioning_profile
Because you would rather spend your time building stuff than fighting provisioning
sigh can create, renew, download and repair provisioning profiles (with one command). It supports App Store, Ad Hoc, Development and Enterprise profiles and supports nice features, like auto-adding all test devices.
Features • Usage • Resign • How does it work?
Features
- Download the latest provisioning profile for your app
- Renew a provisioning profile, when it has expired
- Repair a provisioning profile, when it is broken
- Create a new provisioning profile, if it doesn’t exist already
- Supports App Store, Ad Hoc and Development profiles
- Support for multiple Apple accounts, storing your credentials securely in the Keychain
- Support for multiple Teams
- Support for Enterprise Profiles
To automate iOS Push profiles you can use pem.
Why not let Xcode do the work?
- sigh can easily be integrated into your CI-server (e.g. Jenkins)
- Xcode sometimes invalidates all existing profiles
- You have control over what happens
- You still get to have the signing files, which you can then use for your build scripts or store in git
See sigh in action:
Usage
Note: It is recommended to use match according to the codesigning.guide for generating and maintaining your provisioning profiles. Use sigh directly only if you want full control over what’s going on and know more about codesigning.
fastlane sigh
Yes, that’s the whole command!
sigh will create, repair and download profiles for the App Store by default.
You can pass your bundle identifier and username like this:
fastlane sigh -a com.krausefx.app -u username
If you want to generate an Ad Hoc profile instead of an App Store profile:
fastlane sigh --adhoc
If you want to generate a Development profile:
fastlane sigh --development
To generate the profile in a specific directory:
fastlane sigh -o "~/Certificates/"
To download all your provisioning profiles use
fastlane sigh download_all
Optionally, use fastlane sigh download_all --download_xcode_profiles
to also include the Xcode managed provisioning profiles
For a list of available parameters and commands run
fastlane action sigh
Advanced
By default, sigh will install the downloaded profile on your machine. If you just want to generate the profile and skip the installation, use the following flag:
fastlane sigh --skip_install
To save the provisioning profile under a specific name, use the -q option:
fastlane sigh -a com.krausefx.app -u username -q "myProfile.mobileprovision"
If for some reason you don’t want sigh to verify that the code signing identity is installed on your local machine:
fastlane sigh --skip_certificate_verification
If you need the provisioning profile to be renewed regardless of its state use the --force
option. This gives you a profile with the maximum lifetime. --force
will also add all available devices to this profile.
fastlane sigh --force
By default, sigh will include all certificates on development profiles, and first certificate on other types. If you need to specify which certificate to use you can either use the environment variable SIGH_CERTIFICATE
, or pass the name or expiry date of the certificate as argument:
fastlane sigh -c "SunApps GmbH"
For a list of available parameters and commands run
fastlane action sigh
Use with fastlane
sigh becomes really interesting when used in fastlane in combination with cert.
Update your Fastfile
to contain the following code:
lane :beta do cert sigh(force: true) end
force: true
will make sure to re-generate the provisioning profile on each run.
This will result in sigh always using the correct signing certificate, which is installed on the local machine.
Repair
sigh can automatically repair all your existing provisioning profiles which are expired or just invalid.
fastlane sigh repair
Resign
If you generated your ipa
file but want to apply a different code signing onto the ipa file, you can use sigh resign
:
fastlane sigh resign
sigh will find the ipa file and the provisioning profile for you if they are located in the current folder.
You can pass more information using the command line:
fastlane sigh resign ./path/app.ipa --signing_identity "iPhone Distribution: Felix Krause" -p "my.mobileprovision"
Manage
With sigh manage
you can list all provisioning profiles installed locally.
fastlane sigh manage
Delete all expired provisioning profiles
fastlane sigh manage -e
Or delete all iOS Team Provisioning Profile
by using a regular expression
fastlane sigh manage -p "iOS\ ?Team Provisioning Profile:"
Environment Variables
Run fastlane action sigh
to get a list of all available environment variables.
If you’re using cert in combination with fastlane the signing certificate will automatically be selected for you. (make sure to run cert before sigh)
How does it work?
sigh will access the iOS Dev Center
to download, renew or generate the .mobileprovision
file. It uses spaceship to communicate with Apple’s web services.
How is my password stored?
sigh uses the CredentialsManager from fastlane.
Tips
Use ‘ProvisionQL’ for advanced Quick Look in Finder
Install ProvisionQL.
It will show you mobileprovision
files like this:
App Identifier couldn’t be found
If you also want to create a new App Identifier on the Apple Developer Portal, check out produce, which does exactly that.
What happens to my Xcode managed profiles?
sigh will never touch or use the profiles which are created and managed by Xcode. Instead sigh will manage its own set of provisioning profiles.