A toolkit for automated quality verification and debugging in iOS/macOS application development.
iappshdv (“iOS Application Shell Development and Verification”) is designed to streamline and standardize quality assurance processes in iOS and macOS application development. The project addresses common challenges faced by mobile development teams:
By providing a unified command-line interface to industry-standard verification tools, iappshdv helps development teams:
This project is being developed with the following milestones:
The long-term vision includes distribution via Homebrew, integration with popular iOS CI/CD pipelines, and expansion to cover additional quality metrics specific to the Apple development ecosystem.
verify all
CommandThe core functionality of iappshdv is provided through the verify all
command, which performs comprehensive verification of your iOS/macOS projects:
iappshdv verify all <project_folder> [<ipa_path>] [<baseline_mb>] [-s|--silent] [-y|--yes] [-u|--update-deps]
verify all
DoesThis powerful command runs a complete suite of checks on your project:
<project_folder>
: Target project directory (required)[<ipa_path>]
: IPA file path (optional)[<baseline_mb>]
: IPA size baseline in MB (optional)-s|--silent
: Silent mode (suppress detailed output)-y|--yes
: Auto-yes response (automatically approve interactive prompts)-u|--update-deps
: Automatically update dependenciesiappshdv verify all ~/Projects/MyiOSApp ~/Downloads/MyApp.ipa 50
Installation via Homebrew is planned for a future update. This section will be updated once the feature has been verified and made available.
For more details on Homebrew installation, see HOMEBREW.md.
git clone https://github.com/username/iappshdv.git
cd iappshdv
bin
directory to your PATH:
export PATH="$PATH:$(pwd)/bin"
chmod +x bin/iappshdv
iappshdv provides a unified command-line interface for all functionality:
iappshdv <command> [options]
setup
: Setup development environment
prereqs
: Install prerequisite toolsenv
: Prepare Mac environment for iOS developmentverify
: Run verification tools
code
: Verify code quality onlysecurity
: Perform security checks onlysize
: Verify IPA size onlyall
: Run all verification checks (main function)build
: Verify build
help
: Show help messageversion
: Show version informationiappshdv setup prereqs
Installs prerequisite tools needed for development (Xcode Command Line Tools, Homebrew, Xcode).
iappshdv setup env
Prepares the Mac environment for iOS development (XcodeGen, swift-format, SwiftLint).
Basic usage format:
iappshdv verify <subcommand> <project_folder> [options]
If you need to run only specific verification checks rather than the full suite, you can use:
Code quality verification:
iappshdv verify code ~/Projects/MyiOSApp
Security checks:
iappshdv verify security ~/Projects/MyiOSApp
IPA size verification (with 50MB baseline):
iappshdv verify size ~/Projects/MyiOSApp ~/Downloads/MyApp.ipa 50
iappshdv build <project_folder>
Verifies the build and detects errors.
<project_folder>
: Target project directory (required)Display help:
iappshdv help
Display help for a specific command:
iappshdv help verify
Display version information:
iappshdv version
# Install required tools
iappshdv setup prereqs
# Prepare the Mac environment
iappshdv setup env
# Run the main full verification (recommended)
iappshdv verify all ~/Projects/MyiOSApp
# Run full verification including IPA size check (50MB baseline)
iappshdv verify all ~/Projects/MyiOSApp ~/Downloads/MyApp.ipa 50
# Run full verification in silent mode
iappshdv verify all ~/Projects/MyiOSApp -s
# Run full verification with auto-update for dependencies
iappshdv verify all ~/Projects/MyiOSApp -u
# Verify build (only if needed)
iappshdv build ~/Projects/MyiOSApp
iappshdv/
├── bin/ # Executable commands
│ └── iappshdv # Main command
├── lib/ # Library functions
│ ├── common.sh # Common functions
│ ├── setup.sh # Setup related functions
│ ├── verify.sh # Verification related functions
│ └── build.sh # Build related functions
├── completions/ # Shell completions
│ ├── iappshdv.bash # Bash completion
│ └── iappshdv.zsh # Zsh completion
├── Formula/ # Homebrew formula
│ └── iappshdv.rb # Formula definition
└── legacy/ # Legacy and development files
This project started as a collection of independent shell scripts. The following scripts are kept in the legacy/
directory for reference:
legacy/install_prereqs.sh
Checks and installs required development tools for iOS/macOS development.
Features:
Usage:
./legacy/install_prereqs.sh
legacy/prepare_mac_env.sh
Prepares a Mac environment with necessary packages for iOS development.
Features:
Usage:
./legacy/prepare_mac_env.sh
legacy/verify_debug_v2.sh
(Latest Version)The most recent and comprehensive code quality verification script.
Features:
Usage:
./legacy/verify_debug_v2.sh <project_folder> [<ipa_path>] [<baseline_mb>] [-s|--silent] [-y|--yes] [-u|--update-deps]
legacy/verify_debug_v1.sh
Previous version of the verification script with similar functionality to v2.
Usage:
./legacy/verify_debug_v1.sh <project_folder> [<ipa_path>] [<baseline_mb>] [-s|--silent] [-y|--yes] [-u|--update-deps]
legacy/verify_debug_wbuild_v1.sh
Verification script with additional build checking functionality.
Features:
Usage:
./legacy/verify_debug_wbuild_v1.sh <project_folder>
Version: 0.1.0 (Initial Release)