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: @KrauseFx
Special thanks to Matthias Tretter for coming up with the name.
sigh is part of fastlane: connect all deployment tools into one streamlined workflow.
- 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 (Screenshot)
- 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:
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/"
For a list of available 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 -f option:
sigh -a com.krausefx.app -u username -f "myProfile.mobileprovision"
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"
Or identify be expire date if you're using the same names for multiple certificates
sigh -d "Nov 11, 2017"
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 -i "iPhone Distribution: Felix Krause" -p "my.mobileprovision"
In case you prefer environment variables:
SIGH_TEAM_ID(The Team ID, e.g.
SIGH_PROVISIONING_PROFILE_NAME(set a custom name for the name of the generated file)
Choose signing certificate to use:
SIGH_CERTIFICATE(The name of the certificate to use)
SIGH_CERTIFICATE_ID(The ID of the certificate)
SIGH_CERTIFICATE_EXPIRE_DATE(The expire date of the certificate)
sigh will store the
UDID of the generated provisioning profile in the environment:
How does it work?
sigh will access the
iOS Dev Center to download, renew or generate the
.mobileprovision file. Check out the full source code: developer_center.rb.
How is my password stored?
fastlane: Connect all deployment tools into one streamlined workflow
deliver: Upload screenshots, metadata and your app to the App Store using a single command
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
codes: Create promo codes for iOS Apps using the command line
Use the 'Provisioning Quicklook plugin'
Download and install the Provisioning Plugin.
- If there is a technical problem with
sigh, submit an issue.
- I'm available for contract work - drop me an email: firstname.lastname@example.org
This project is licensed under the terms of the MIT license. See the LICENSE file.
- Create an issue to start a discussion about your idea
- Fork it (https://github.com/KrauseFx/sigh/fork)
- Create your feature branch (
git checkout -b my-new-feature)
- Commit your changes (
git commit -am 'Add some feature')
- Push to the branch (
git push origin my-new-feature)
- Create a new Pull Request