Giter Site home page Giter Site logo

timefrancesco / ipatool Goto Github PK

View Code? Open in Web Editor NEW

This project forked from svdo/ipatool

0.0 1.0 0.0 5.03 MB

Tool to query iOS IPA files and to resign an IPA with a new provisioning profile

License: MIT License

Swift 98.54% Ruby 0.51% Shell 0.87% Objective-C 0.08%

ipatool's Introduction

ipatool

Quick Start

  1. Download and extract latest release sources (or clone master)
  2. Inside the source folder, run the shell script ./buildAndInstall.sh

This will install ipatool in /usr/local/bin. You can easily customize the installation location by editing the script.

You can now run it by executing /usr/local/bin/ipatool. See below for details on command line options.

Introduction

Command line utility to query iOS IPA files and to resign an IPA with a new provisioning profile (and optionally a new bundle identifier). Sample use cases:

  • Check expiration of enterprise-signed IPAs so that you know when you have to ship new releases to your customers.
  • Resign enterprise-signed IPA that has expired with a new provisioning profile.
  • Resign appstore-signed IPA with enterprise provisioning profile, so that you can test the actual binary that you will upload to Apple.

Since this is a command line utility, you can of course use it in continuous integration setups such as Jenkins etc.

Query IPA files

Invocation: ipatool myapp.ipa

Sample output:

  App name:            My App.app
  Display name:        My App
  Version:             1.0
  Build:               21
  Bundle identifier:   com.example.myapp
  Code sign authority: iPhone Distribution: Example Inc.
  Minimum OS version:  6.0
  Device family:       iphone ipad 

Provisioning:
  Name:                My App - AppStore
  Expiration:          Fri Dec 11 10:22:40 CET 2013
  App ID name:         My App
  Team:                Example Team

Resign IPA files

Invocation: ipatool myapp.ipa resign enterpriseprof.mobileprovision com.example.enterprise.myapp

This invocation will resign the IPA using the provisioning profile found in enterpriseprof.mobileprovision. In the process, it will change the bundle identifier to com.example.enterprise.myapp.

Note for Developers

The unit tests work on an actual ipa that is also part of this project. It is built using a shell script build phase in the ipatoolTests target. This means that it will be code-signed using your own certificate and provisioning profile.

The tests check whether the code signing that this SampleApp.ipa has matches what is expected. Since this will be different for everybody, the expected values are put in testConfig.json. In order for the tests to pass, you will have to modify testConfig.json so that it contains the values that are valid for you.

Wiki

Please refer to the wiki for more information on Managing Archives and Code Signing with xcodebuild.

TODO

  • Use IPT class prefix everywhere instead of IT.

ipatool's People

Contributors

svdo avatar

Watchers

Francesco Pretelli 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.