Giter VIP home page Giter VIP logo

sigh's Introduction

deliversnapshotframeitPEMsighproducecertcodes

-------

sigh

Twitter: @KauseFx License Gem

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.


FeaturesInstallationUsageResignHow does it work?TipsNeed help?


sigh is part of fastlane: connect all deployment tools into one streamlined workflow.

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 (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

See sigh in action:

assets/sighRecording.gif

Installation

sudo gem install sigh

Make sure, you have the latest version of the Xcode command line tools installed:

xcode-select --install

Usage

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:

sigh -a com.krausefx.app -u username

If you want to generate an Ad Hoc profile instead of an App Store profile:

sigh --adhoc

If you want to generate a Development profile:

sigh --development

To generate the profile in a specific directory:

sigh -o "~/Certificates/"

To download all your provisioning profiles use

sigh download_all

For a list of available commands run

sigh --help

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:

sigh --skip_install

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 --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:

sigh -c "SunApps GmbH"

Repair

sigh can automatically repair all your existing provisioning profiles which are expired or just invalid.

All you have to do is

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:

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:

sigh resign ./path/app.ipa -i "iPhone Distribution: Felix Krause" -p "my.mobileprovision"

Manage

With sigh manage you can list all provisioning profiles installed locally.

sigh manage

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:"

Environment Variables

In case you prefer environment variables:

  • SIGH_USERNAME
  • SIGH_APP_IDENTIFIER (The App's Bundle ID , e.g. com.yourteam.awesomeapp)
  • SIGH_TEAM_ID (The Team ID, e.g. Q2CBPK58CA)
  • 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)

As always, run sigh --help to get a list of all 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)

sigh will store the UDID of the generated provisioning profile in the environment: SIGH_UDID.

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 password manager from fastlane. Take a look the CredentialsManager README for more information.

Tips

fastlane Toolchain

  • 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.

It will show you the mobileprovision files like this: assets/QuickLookScreenshot.png

Need help?

  • If there is a technical problem with sigh, submit an issue.
  • I'm available for contract work - drop me an email: [email protected]

License

This project is licensed under the terms of the MIT license. See the LICENSE file.

Contributing

  1. Create an issue to start a discussion about your idea
  2. Fork it (https://github.com/KrauseFx/sigh/fork)
  3. Create your feature branch (git checkout -b my-new-feature)
  4. Commit your changes (git commit -am 'Add some feature')
  5. Push to the branch (git push origin my-new-feature)
  6. Create a new Pull Request

sigh's People

Contributors

3arrett avatar almassapargali avatar beanieboi avatar brianmichel avatar dtrenz avatar esnick avatar flogehring avatar gabu avatar kballenegger avatar kiranpanesar avatar kommen avatar krausefx avatar litso avatar lmirosevic avatar macfanatic avatar mbogh avatar mgamer avatar milch avatar mpillsbury avatar shrinkrayio avatar sohgoh avatar tobiasstrebitzer avatar tonyxiao avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.