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.
Get in contact with the developer on Twitter: @FastlaneTools
sigh is part of fastlane: The easiest way to automate beta deployments and releases for your iOS and Android apps.
- 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?
sighcan 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
sigh in action:
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.
sudo gem install sigh
Make sure, you have the latest version of the Xcode command line tools installed:
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:
sigh -a com.krausefx.app -u username
If you want to generate an Ad Hoc profile instead of an App Store profile:
If you want to generate a Development profile:
To generate the profile in a specific directory:
sigh -o "~/Certificates/"
To download all your provisioning profiles use
For a list of available parameters and commands run
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:
To save the provisioning profile under a specific name, use the -q option:
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:
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.
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:
sigh -c "SunApps GmbH"
For a list of available parameters and commands run
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.
sigh can automatically repair all your existing provisioning profiles which are expired or just invalid.
If you generated your
ipa file but want to apply a different code signing onto the ipa file, you can use
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:
sigh resign ./path/app.ipa --signing_identity "iPhone Distribution: Felix Krause" -p "my.mobileprovision"
sigh manage you can list all provisioning profiles installed locally.
Delete all expired provisioning profiles
sigh manage -e
Or delete all
iOS Team Provisioning Profile by using a regular expression
sigh manage -p "iOS\ ?Team Provisioning Profile:"
sigh --help to get a list of all available environment variables.
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: The easiest way to automate beta deployments and releases for your iOS and Android apps
deliver: Upload screenshots, metadata and your app to the App Store
snapshot: Automate taking localized screenshots of your iOS app on every device
frameit: Quickly put your screenshots into the right device frames
pem: Automatically generate and renew your push notification profiles
produce: Create new iOS apps on iTunes Connect and Dev Portal using the command line
cert: Automatically create and maintain iOS code signing certificates
spaceship: Ruby library to access the Apple Dev Center and iTunes Connect
pilot: The best way to manage your TestFlight testers and builds from your terminal
boarding: The easiest way to invite your TestFlight beta testers
gym: Building your iOS apps has never been easier
scan: The easiest way to run tests of your iOS and Mac app
match: Easily sync your certificates and profiles across your team using git
Use the 'Provisioning Quicklook plugin'
Download and install the Provisioning Plugin.
It will show you the
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.
Please submit an issue on GitHub and provide information about your setup
Code of Conduct
Help us keep
sigh open and inclusive. Please read and follow our Code of Conduct.
This project is licensed under the terms of the MIT license. See the LICENSE file.
This project and all fastlane tools are in no way affiliated with Apple Inc. This project is open source under the MIT license, which means you have full access to the source code and can modify it to fit your own needs. All fastlane tools run on your own computer or server, so your credentials or other sensitive information will never leave your own computer. You are responsible for how you use fastlane tools.