• Stars
    star
    428
  • Rank 100,850 (Top 2 %)
  • Language
    Shell
  • Created about 12 years ago
  • Updated over 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A burgeoning collection of tools for Over-The-Air distribution of mobile applications.

ota-tools

A burgeoning collection of tools for Over-The-Air distribution of mobile applications.

OTA Tools started off as 2 disparate gists. One was a bash script for resigning an iOS IPA file. The other was a sample plist and HTML file combo for serving an iOS app for Over-The-Air distribution. When the later gist was updated with a script for generating the combo, they were joined together to create a tools package. These tools have saved me countless hours so they are being offered under the MIT license.

Contents:

ipa_ota    - generate basic plist and html combo for ota hosting
ipa_sign   - sign ipa with a keychain certificate and replace its provision
app.plist  - simple plist example
index.html - simple hosting flatfile example

Usage:

ipa_sign takes an ipa file, provision file, and the name of the certificate in your keychain that you want to sign with.

~/Dropbox/Public/enterprise_builds rbronosky$ ./ipa_sign ~/Downloads/app.ipa ~/provisions/Huge_Enterprises.mobileprovision "iPhone Distribution: Huge Enterprises Inc."
App has BundleIdentifier 'com.example.myapp' and BundleVersion 2.5
App has provision   'iPhone Developer', which supports 'HDXJ2G3FGJ.com.example.*'
Embedding provision 'provision for My App', which supports 'HDXJ2G3FGJ.com.example.myapp'
Payload/myapp.app: replacing existing signature

Calling ipa_ota creates a basic plist in the current directory and outputs a single line for including in an existing HTML file.

~/Dropbox/Public/enterprise_builds rbronosky$ ./ipa_ota app.ipa http://dl.dropbox.com/u/310759/enterprise_builds/
    <p><a href="itms-services://?action=download-manifest&url=http://dl.dropbox.com/u/310759/enterprise_builds/app.plist">Install Enterprise App</a></p>

The script can detect when it is being redirected to a file. In this case it outputs an entire HTML file.

~/Dropbox/Public/enterprise_builds rbronosky$ ./ipa_ota app.ipa http://dl.dropbox.com/u/310759/enterprise_builds/ > download_app.html
~/Dropbox/Public/enterprise_builds rbronosky$ cat download_app.html
<html>
  <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
  <head><title>Enterprise App Installer</title><style>*{text-align:center;}</style></head>
  <body>
    <p><a href="itms-services://?action=download-manifest&url=http://dl.dropbox.com/u/310759/enterprise_builds/app.plist">Install Enterprise App</a></p>
  </body>
</html>

Note:

It has been reported that on Mountain Lion, you may see an error like this:

Payload/MyApp.app: object file format unrecognized, invalid, or unsuitable

Googling suggests that you can resolve this by setting an env var like so:

export CODESIGN_ALLOCATE="/Applications/Xcode.app/Contents/Developer/usr/bin/codesign_allocate"

I have never seen this, so I can't directly speak for it.

More Repositories

1

AppleScript-droplet

A template for creating Droplets for Mac OS X that will pass dropped files to an embedded script
Shell
65
star
2

aws-ecs-service-discovery

Simple Service Discovery for Amazon EC2 Container Service
Python
63
star
3

git-fix-whitespace

Fixes the whitespace issues that 'git-diff --check' complains about
Shell
41
star
4

raspbian-boot-setup

Enhance Raspbian with a mechanism by which *any* host system used to image an SD card can add a setup script to the SD card to initiate a process on first boot.
Shell
33
star
5

entrypoint_demo

a simple Python entrypoint demonstration
Python
20
star
6

Tic-Tac-Toe

coding challenge: Create an app that can interactively play the game and never lose.
19
star
7

Droid-Easy-Root

Motorola rooting for cautious hackers
Shell
16
star
8

rpi-mitmproxy-gateway

Build an SSL capable transparent proxying WiFi Access point with budget commodity hardware and Open Source software.
Shell
14
star
9

resume

Bruno Bronosky's Resume
HTML
14
star
10

aws-cli-plugins

Examples of how to add custom commands to the aws-cli.
Python
13
star
11

charles-proxy-helper

Creates a PAC file for easy mobile device proxying
Python
11
star
12

sencha-touch

Sencha Touch Open Source Version
JavaScript
9
star
13

pi-gen-extender

This wrapper around the official RPi-Distro/pi-gen repo helps you build a minimal Raspbian image with extra debs installed.
Shell
8
star
14

equifaxincident2017

Demonstrating that Equifax knows nothing about security
HTML
6
star
15

tools

Tools for the Linux Admin and/or MySQL DBA
Shell
6
star
16

celery_redis_demo

simple demonstration of using Redis backed Celery workers in Docker containers
6
star
17

jQueryMobileDemo

The jQuery UI Mobile Framework Demonstration in a PhoneGap application
JavaScript
5
star
18

dotfiles

My super secret dot files. Please don't look at my .ssh private keys.
Shell
4
star
19

Chrome-Tools

Includes what is believed to be the ultimate Chromium updater script
Shell
4
star
20

Perfect-Bookmarklets

A project to solve the problem of bookmarklet maintenance and mobile installation.
HTML
3
star
21

xencelabs_quick_keys

Tools to help you modify the XenceLabs Quick Keys pcfg XML file by hand
3
star
22

retina-screenshot-resizer

Automatic duplication and downsizing of the comically large MacBookPro Retina screenshots
Shell
3
star
23

QDSP-6064

resources for using the HP QDSP-6064 7-Segment Bubble Display from SparkFun in Fritzing layouts
2
star
24

xenclone

Xen and the Art of Virtual Machine Maintenance
Shell
2
star
25

dropbox-sync

The fastest way to do a Dropbox selective sync with Linux (or anything with Python and Bash)
Shell
2
star
26

HTML5-UITableView

The UITableView is one of the things that keeps bosses from accepting HMTL5 apps vs. native. This project aims to take care of that.
JavaScript
2
star
27

celery_test

An implementation of the 'add' example from http://docs.celeryproject.org/en/latest/getting-started/first-steps-with-celery.html
Python
2
star
28

liberate-captivate

The way to document rooting and modding a phone
Shell
1
star
29

apk_signer

A tool to simplify signing multiple Android APKs with different keys
Shell
1
star
30

shadow-toggle

Toggles the preference for captures dropshadows in Mac osx screenshots (in pure simple bash)
Shell
1
star
31

bbq

Every one loves Bar-B-Que. This is how I make it.
1
star
32

devops-exercise1

This exercise is a good (though not complete) representation of a day-in-the-life of a DevOps engineer in a serverless architecture.
HTML
1
star
33

richardbronosky.github.io

Richard Bronosky's github page
HTML
1
star
34

service_layer

A lightweight, containerized API aggregator using only Python, Redis, and S3
Python
1
star
35

better-finder-icon

A slight adjustment to the Finder icon for Apple's Mac OS X Yosemite 10.10
Shell
1
star
36

ttysend

Send input to a tty (other than the one you are on)
Python
1
star