Skip to content

Latest commit

 

History

History
52 lines (34 loc) · 2.06 KB

readme.md

File metadata and controls

52 lines (34 loc) · 2.06 KB

Extract Meaningful Meta Data from IPAs

A set of scripts to extract and merge meta data from iOS apps such as url schemes, app store id, supported iOS version etc. by scanning IPA files stored in your iTunes library on OS X.

Extracting Data

To extract and store all your apps meta data into a JSON file call

./collectIPAMetaData.py -o myMetaData.json

The script tries to find IPAs in a set of default locations but can be asked to search your IPAs at specifiec directories or scan explicitly provided IPAs. Use the --help argument to learn about the possible options.

Merging Data

If you want to merge your data with the one of this repository to create a pull request, use this command:

./mergeIPAMetaData.py -o ipaMetaData.json myMetaData.json ipaMetaData.json

Have a look at the statistics to see how much you added to the ipaMetaData.json in place, e.g.

loading ipaMetaData.json
schemes: 576, apps: 312, bundles: 754
loading myMetaData.json
schemes: 244, apps: 104, bundles: 104
merging 2 bundle lists
schemes: 598, apps: 329, bundles: 774

In this case you added 20 new bundles to the collection but only 17 apps. This can happen since each version of an app will be preserved. 22 url schemes had been added due to the merge, meaning that even more apps will be connected via url schemes :)

Derive Data for iHasApp

To add new mappings in the schemeApps.json format of iHasApp use this command:

./mergeIHasAppMappings.py -o schemeApps.json ignored/schemeApps.json ipaMetaData.json

Contributions

This extractor and merger has been written by Heiko Behrens (twitter) to derive meta data for the OpenHandleURL.com, BeamApp and iHasApp. Parts of the plist logic is based on iOS-checkIPA.