App Analyzer Plugin for Bitrise CLI
A powerful tool for analyzing iOS app bundles, providing detailed insights about size, content, and potential optimizations.
Can be run directly with the Bitrise CLI.
bitrise plugin install https://github.com/birmacher/bitrise-plugins-analyze.gitThe plugin provides two main commands: analyze and diff.
Analyzes an app bundle and provides detailed insights about its size and content.
bitrise :analyze [path] [flags]path: Path to the app bundle (.app), archive (.xcarchive), or IPA file (.ipa)
--html: Generate an interactive HTML visualization report--json: Generate a detailed JSON report--markdown: Generate a markdown report with key insights--output-dir: Directory where the output files will be generated (default: current directory)
All generated files will use the app's bundle ID as the base filename:
- HTML report:
<bundle_id>.html - JSON report:
<bundle_id>.json - Markdown report:
<bundle_id>.md
- Basic analysis of an .app bundle:
bitrise :analyze MyApp.app- Generate HTML visualization:
bitrise :analyze MyApp.ipa --html- Generate all report formats:
bitrise :analyze MyApp.xcarchive --html --json --markdown- Specify output directory:
bitrise :analyze MyApp.app --html --output-dir=/path/to/reportsCompares two JSON analysis reports to identify file changes between app versions.
bitrise :diff [old.json] [new.json] [flags]old.json: Path to the JSON report of the old app versionnew.json: Path to the JSON report of the new app version
--json: Path to save the diff results as a JSON file
The diff command identifies and reports:
- Added files (with sizes)
- Removed files (with sizes)
- Changed files (with size comparisons)
- Compare two JSON reports:
bitrise :diff old.json new.json- Save diff results to a JSON file:
bitrise :diff old.json new.json --json=diff.json- macOS (required for iOS app bundle analysis)
- Bitrise CLI installed
- For analyzing .ipa files: ability to extract and process iOS app bundles
- For analyzing Android images: the
cwebpcommand must be installed
PYTHON_BIN: Path to the Python interpreter used to create the temporary virtual environment. Defaults topython3.
This project is licensed under the MIT License - see the LICENSE file for details.