Skip to content

πŸ” Cross-platform IPA signing tool with Qt6 GUI & CLI. Automatically matches certificates, adapts bundle IDs, and signs iOS apps with your own developer certificates.

License

Notifications You must be signed in to change notification settings

CyberTKR/IpaSigner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“± IPASIGN

Simple and powerful iOS IPA signing tool with graphical interface

IPASIGN is a modern Qt6-based application that simplifies iOS IPA file signing using the reliable zsign backend. Perfect for developers, testers, and anyone who needs to sign iOS applications quickly and efficiently.

✨ Features

  • πŸ–₯️ Modern Qt6 GUI - Clean and intuitive graphical interface
  • ⚑ zsign Integration - Powered by the robust zsign signing engine
  • πŸ“¦ Simple Workflow - Just select IPA, certificate, and profile
  • πŸ”§ Auto zsign Setup - Automatically installs zsign if not found
  • πŸ“± Device Management - Built-in iOS device detection and management
  • ⚠️ Smart Warnings - Conflict detection with helpful user guidance
  • πŸͺ΅ Detailed Logging - Real-time progress and error reporting

πŸš€ Quick Start

Prerequisites

  • macOS (Intel or Apple Silicon)
  • Qt6 development framework
  • Xcode Command Line Tools
  • Homebrew (for dependency management)

Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/IPASIGN.git
    cd IPASIGN
  2. Install dependencies:

    # Install Qt6
    brew install qt@6
    
    # Install build tools
    brew install cmake pkg-config
  3. Build the application:

    mkdir build && cd build
    cmake ..
    make -j$(nproc)

🎯 Usage

Basic IPA Signing

  1. Launch IPASIGN
  2. Select your IPA file - Choose the iOS app you want to sign
  3. Choose certificate - Select your .p12 certificate file
  4. Pick provisioning profile - Select the .mobileprovision file
  5. Enter password - Provide certificate password if required
  6. Click Sign - Let IPASIGN handle the rest!

Supported File Formats

  • Input: .ipa (iOS App Store Package)
  • Certificates: .p12 (PKCS#12 certificate)
  • Profiles: .mobileprovision (iOS provisioning profile)
  • Output: Signed .ipa ready for installation

πŸ”§ Technical Details

Architecture

IPASIGN uses a clean, modular architecture:

  • IPASigner Core - Main signing logic and zsign integration
  • Qt6 GUI - Modern cross-platform user interface
  • Worker Threads - Non-blocking signing and installation operations
  • Device Manager - iOS device detection and communication

zsign Integration

  • Automatic zsign binary management
  • Fallback to system zsign if available
  • Build from source if needed (requires development tools)
  • Supports all zsign signing options and configurations

πŸ“‹ Requirements

System Requirements

  • macOS 10.15+ (Catalina or later)
  • 4GB RAM minimum
  • 1GB free disk space
  • Active internet connection (for initial setup)

Development Requirements

  • Qt6.5+ with widgets support
  • CMake 3.16+
  • C++17 compatible compiler
  • Xcode Command Line Tools

πŸ› οΈ Build from Source

Debug Build

mkdir build-debug && cd build-debug
cmake -DCMAKE_BUILD_TYPE=Debug ..
make -j$(nproc)

Release Build

mkdir build-release && cd build-release
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j$(nproc)

πŸ› Troubleshooting

Common Issues

"Device not detected via USB"

  • Trust the computer on your iPhone when prompted
  • Ensure USB cable supports data transfer (not just charging)
  • Try a different USB port or cable
  • Restart both iPhone and IPASIGN application
  • Check if device appears in Finder/iTunes first
  • Enable "Developer Mode" in iPhone Settings if available
  • Make sure iPhone is unlocked during connection

"zsign not found"

  • IPASIGN will automatically install zsign
  • Ensure Homebrew is installed and working
  • Check internet connection for package downloads

"Certificate invalid"

  • Verify .p12 file is not corrupted
  • Check certificate password
  • Ensure certificate is not expired

"Provisioning profile mismatch"

  • Verify profile matches your certificate
  • Check Bundle ID compatibility
  • Ensure device UDID is included in profile

"Installation fails on device"

  • Check device storage space
  • Verify device iOS version compatibility
  • Remove conflicting apps with same Bundle ID
  • Restart device and try again
  • Ensure device is connected to internet for verification

Device Connection Troubleshooting

Step-by-step USB connection fix:

  1. iPhone Settings Check:

    Settings β†’ Privacy & Security β†’ Developer Mode β†’ Enable
    Settings β†’ General β†’ About β†’ Trust Computer (when prompted)
    
  2. Mac System Check:

    # Check if device is detected by system
    system_profiler SPUSBDataType | grep iPhone
    
    # Check iOS device service
    brew services list | grep usbmuxd
  3. Reset Connection:

    • Disconnect iPhone
    • Restart IPASIGN application
    • Reconnect iPhone and trust computer again
    • Check if device appears in application
  4. Alternative Detection Methods:

    • Use Xcode's Device Manager (Window β†’ Devices and Simulators)
    • Check Finder sidebar for iPhone
    • Try iTunes/Music app detection first

Getting Help

  1. Check the built-in help system
  2. Review application logs in the GUI
  3. Consult zsign documentation for signing issues
  4. Create an issue on GitHub for bugs

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

🀝 Contributing

Contributions are welcome! Please feel free to submit pull requests, report bugs, or suggest new features.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ™ Acknowledgments

  • zsign - The powerful signing engine that makes this possible
  • Qt Project - For the excellent cross-platform framework
  • iOS Development Community - For continuous support and feedback

Made with ❀️ for the iOS development community

About

πŸ” Cross-platform IPA signing tool with Qt6 GUI & CLI. Automatically matches certificates, adapts bundle IDs, and signs iOS apps with your own developer certificates.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published