Skip to content

About

Core library for IPATool — App Store search, auth, purchase, download, and macOS package decryption. Supports macOS and iOS.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

24 Commits

Folders and files

Repository files navigation

IPAToolKit

License macOS iOS Swift SwiftPM

IPAToolKit is the core library powering IPATool. It provides a Swift interface to the App Store — including search, authentication, purchase, and IPA download — along with a C-layer SAP/StoreAgent engine for decrypting macOS App Store packages.

The library is extracted as a standalone Swift Package so that both the IPATool macOS app and other projects (e.g. APParse) can share the same App Store client and decryption logic.

Who uses IPAToolKit

A native macOS desktop app for searching the App Store, managing multi-region Apple IDs, and downloading IPA packages. IPATool is the primary consumer of IPAToolKit — every feature from search and login to macOS package decryption is built on top of this library.

IPATool Screenshot

Features

  • App Store Search: Search apps by keyword with platform filters (iPhone, iPad, Apple TV, visionOS, macOS).
  • Authentication: Apple ID login with support for two-factor authentication (2FA).
  • Purchase & Download: Purchase apps and download IPA packages for iOS / iPadOS / tvOS / visionOS / macOS.
  • Purchased Apps: Fetch the purchased app list for an account.
  • Historical Versions: Retrieve and download older versions of an app.
  • macOS Package Decryption: Decrypt macOS App Store packages via the StoreAgent (SAP) engine using the device's hardware ID.
  • Cross-Platform: Supports macOS 14+ and iOS 15+.

Requirements

  • macOS 14.0+ or iOS 15.0+
  • Swift 5.9+ / Xcode 15+

Installation

Swift Package Manager

Add the package to your Package.swift:

dependencies: [
    .package(url: "https://github.com/maclub-net/IPAToolKit.git", from: "1.0.0")
]

Then add IPAToolCore to your target dependencies:

.target(
    name: "YourTarget",
    dependencies: [
        .product(name: "IPAToolCore", package: "IPAToolKit")
    ]
)

Xcode

  1. File → Add Package Dependencies…
  2. Enter https://github.com/maclub-net/IPAToolKit.git
  3. Add the IPAToolCore product to your target.

Usage

import IPAToolCore

let client = AppStoreClient()

// Search apps
let apps = try await client.search(term: "WeChat", limit: 10, platform: .iphone)

// Login
let account = try await client.login(email: "user@example.com", password: "••••", code: nil)

// Download
try await client.download(app: app, account: account, to: destinationURL)

Project Structure

Sources/
├── CSAP/              # C-layer SAP/StoreAgent engine (macOS package decryption)
│   └── include/       # Public C headers
└── IPAToolCore/       # Swift interface: App Store API client, SAP signer

License

This project is licensed under a custom license. Personal, educational, and non-commercial use is free of charge. Commercial use requires obtaining a commercial license from the author.

See LICENSE for the full terms.

To apply for a commercial license, visit https://www.ipatool.cn or contact dustink@qq.com.

About

Core library for IPATool — App Store search, auth, purchase, download, and macOS package decryption. Supports macOS and iOS.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages