Skip to content
CAI
Software that uses CAICheck a score

Lakr233/Asspp

47.7

Weak · 30 September 2026

5k

lines of production code

Swift

primary language

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

Asspp is a cross-platform iOS and macOS application designed for browsing, downloading, and installing Apple App Store content. It provides a unified interface for searching apps, managing user accounts, and handling downloads with background execution support. The system enables direct installation of apps to iOS devices via USB using Xcode's devicectl tool, while also supporting local HTTPS distribution through on-device certificate management.

How it got here

2024 — SwiftUI modernization and platform-specific enhancements

14 changes.

The project underwent a comprehensive modernization of its codebase, migrating to the @Observable macro and restructuring the Xcode project with updated dependencies. Significant effort was directed toward redesigning the user interface for both iOS and macOS, introducing platform-specific layouts, background download management, and new features like on-device certificate installation and in-app logging.

2025–2026 — macOS app management and CI automation

7 changes.

The project introduced macOS-specific features for managing and updating iOS apps via the devicectl backend, alongside a new Installed tab for user interaction. Concurrently, the development workflow was enhanced with automated CI build scripts, xcconfig-based build settings, and local TLS certificate support.

Features

Add in-app logging UI and enhance settings with Demo Mode and device GUID management

Users can now view application logs directly within the app via a new Logs screen, which requires explicit confirmation to reveal sensitive information. The Settings view has been updated to include a 'Demo Mode' toggle that redacts account details and device identifiers, alongside a new mechanism to edit the Device GUID (accessible via a hidden tap gesture) with appropriate warnings about account compatibility. Additionally, the settings interface now provides platform-specific actions for opening system settings and managing SSL certificates, and includes a 'Danger Zone' to reset all app data and settings.

Asspp/Interface/Setting · high confidence

Added local development TLS certificates for localhost.qaq.wiki

The Certificates directory now includes a new set of TLS assets for the \localhost.qaq.wiki\ domain, consisting of a private key, a server certificate, and a root CA key and certificate. These files, generated by \mkcert\, enable secure HTTPS connections for local development on this specific hostname.

Certificates · high confidence

Automated CI build and signing tooling for iOS and macOS

New shell scripts have been added to automate the release build process for iOS and macOS platforms. The \compile.release.mobile.ci.sh\ and \compile.release.osx.sh\ scripts handle building the app in CI environments with code signing explicitly disabled to ensure reproducible builds, packaging the resulting artifacts into IPA or ZIP formats. Additionally, \generate.github.action.inputs.sh\ provides a utility to parse Apple signing certificates and provisioning profiles, automatically determining the correct export method (such as ad-hoc, enterprise, or app-store) and generating the necessary inputs for GitHub Actions workflows.

Resources/Scripts · high confidence

New utility extensions for AirDrop, clipboard, and persistent state storage

The Asspp/Extension module now includes three new Swift files that provide core utility capabilities for the app. AirDrop.swift introduces a cross-platform function to share items via AirDrop on iOS and macOS, along with helper extensions to reliably find the key window and top-most view controller. Clipboard.swift adds a simple function to copy text to the system pasteboard on both platforms. PublishedPersist.swift introduces a property wrapper system for persisting Codable values, supporting both file-based storage (with atomic writes and corruption backup) and Keychain storage, ensuring app settings and state survive restarts securely and reliably.

Asspp/Extension · high confidence

On-device certificate installation and HTTPS installer service

The Installer backend now supports on-device certificate installation, allowing users to install the necessary CA certificate directly from the app to enable HTTPS connections. This change introduces a dedicated installer service that serves the certificate file over HTTP and generates the required HTTPS endpoints (manifest, IPA payload, and display images) for app installation. The service uses TLS with a specific SNI hostname and bundles the required certificates, enabling secure on-device app distribution without external servers.

Asspp/Backend/Installer · high confidence

Redesigned search interface with version history and detailed app views

The search experience has been overhauled to include a new ProductView that displays comprehensive app details such as bundle ID, developer, category, size, compatibility, and ratings, alongside a dedicated Version History view (ProductHistoryView) allowing users to browse and download previous app versions. The search results now utilize a new ArchivePreviewView for consistent listing, and the interface supports platform-specific layouts, including a modern iOS 26 style and legacy support for older versions, while integrating account selection and license acquisition directly into the product details.

Asspp/Interface/Search · high confidence

macOS app installation and device management via devicectl

The app now supports installing and managing apps on iOS devices connected to macOS by leveraging the \devicectl\ command-line tool from Xcode's CoreDevice framework. This change introduces a new backend layer (\DeviceCTL\) that handles device discovery, app listing, and IPA installation, while the \DeviceManager\ coordinates these operations, tracks installed apps, and manages the download-and-install workflow for updates. Users can now install apps directly to paired iOS devices from the macOS interface.

Asspp/Backend/DeviceCTL · high confidence

macOS: New Installed tab to manage and update apps

A new Installed tab has been added to the macOS interface, allowing users to view installed apps grouped by device and check for or initiate updates directly from the list. The view displays app icons, names, versions, and account details, with buttons that change state (Checking, Downloading, Installing) to provide real-time feedback on update progress.

Asspp/Interface/Installed · high confidence

Removals

Removed localhost.direct SSL certificate and key files

The self-signed SSL certificate, private key, and PEM bundle for the \localhost.direct\ domain have been removed from the \Resources/Certificates\ directory. This change eliminates the bundled local development credentials, meaning the application will no longer ship with these specific static certificate files.

Resources/Certificates · high confidence

Behavioural changes

Added background modes and keychain entitlements

The app now declares support for background audio, data fetching, processing, and picture-in-picture modes, and includes a keychain access group entitlement to securely store the device identifier.

Asspp · high confidence

Introduce xcconfig-based build configuration

The project now uses a structured set of Xcode configuration files (xcconfig) to manage build settings. This introduces a centralized Base configuration for common settings like deployment targets (iOS 17, macOS 15), Swift version, and entitlements, alongside specific Debug, Release, and Developer configurations. Developers must now copy the provided Developer.xcconfig.template to Developer.xcconfig and fill in their code-signing details to build the app locally.

Configuration · high confidence

Introduces background keep-alive and refactored download management

The Downloader module now includes a BackgroundAudioPlayer that plays inaudible audio to prevent iOS from suspending downloads while the app is in the background. The download logic has been refactored into a new \Downloads\ class using the modern \@Observable\ macro, which manages download requests, progress updates, and state persistence. Additionally, the system now injects iTunesMetadata and signatures into IPA files during the finalization step, and a new MD5 calculator utility has been added to support file integrity checks.

Asspp/Backend/Downloader · high confidence

Migrate to @Observable and modernize SwiftUI interface

The AppStore backend and its associated data models (AppPackage, AppPackageArchive, UserAccount) have been refactored to use the modern @Observable macro instead of the previous observation mechanism. This change updates the state management for user accounts, device identifiers, and version history, ensuring compatibility with the latest SwiftUI requirements while preserving existing functionality for account persistence and app package data.

Asspp/Backend/AppStore · high confidence

Modernized account management interface with platform-specific layouts

The account management screens have been redesigned to use modern SwiftUI patterns, introducing a dedicated Account Detail view for managing individual Apple IDs. On macOS, the main account list now uses a Table with context menus and a navigation path to view details, while iOS uses a grouped Form with navigation links. The interface supports a demo mode that redacts sensitive fields like email and directory services IDs, and includes a new 'Rotate Token' feature in the detail view to refresh authentication credentials when license acquisition fails.

Asspp/Interface/Account · high confidence

New SwiftUI utility views and platform-specific backports

This update introduces several new utility components in the interface layer to enhance UI consistency and support newer platform features. A new CopyableRow view allows users to easily select and copy text values, while a Hint struct provides a standardized way to display colored status messages. To support modern iOS and macOS capabilities, ViewBackports adds extension methods that conditionally apply features like medium/large presentation detents, sidebar-adaptable tab views, and specific tab bar behaviors, ensuring the app works correctly across different OS versions. Additionally, a redacted modifier is added to handle privacy masking of sensitive data when enabled.

Asspp/Interface/Utils · high confidence

Platform-specific app lifecycle and in-app logging

The app now uses separate AppDelegate implementations for iOS and macOS to manage background activity and UI behavior. On iOS, downloads disable the idle timer and request background execution time to prevent suspension. On macOS, the app disables window tabbing, displays a badge count of active downloads on the dock icon, prevents system sleep during downloads, and quits automatically when no windows are open and no tasks are running. Additionally, an in-app logging interface has been added, allowing users to view debug logs generated by the application.

Asspp/App · high confidence

Redesigned download and installation interface with platform-specific installers

The Downloads section has been rebuilt using modern SwiftUI patterns (NavigationStack, Form, AsyncButton) to improve usability and performance. On iOS, users can now install apps via a dedicated installer view or AirDrop. On macOS, a new DeviceCTLInstallSection allows installing apps directly to connected devices using \devicectl\, with support for refreshing device lists and viewing installed versions. A new File Analysis feature lets users inspect IPA contents, view thumbnails, and share files. The interface also includes a direct download mode for specific bundle IDs and better handling of download states and errors.

Asspp/Interface/Download · high confidence

Redesigned macOS navigation with sidebar and new installation instructions

The Welcome interface now uses a sidebar-based layout on macOS, replacing the previous tab view with a \NavigationSplitView\ that includes a new 'Installed' tab for managing app updates, alongside Home, Accounts, Search, Downloads, and Settings. This change also introduces keyboard shortcuts (⌘F for Search, ⌘, for Settings) and displays a download count badge in the sidebar. On iOS, the legacy tab view remains, but the Welcome screen now features a new 'SimpleInstruction' popover that guides users through the five-step installation process, accessible via a borderless help button.

Asspp/Interface/Welcome · high confidence

Removed ApplePackage workspace reference

The workspace configuration no longer includes the ApplePackage project, indicating that this component has been removed from the current build scope.

Asspp.xcworkspace · high confidence

Xcode project restructured with modern build settings and new dependencies

The Xcode project configuration has been updated to object version 71, enabling modern project features like file-system synchronization for the Asspp and Configuration groups. The framework dependencies have been significantly reorganized: Tiercel has been removed and replaced with Digger, while new frameworks including Logging, ButtonKit, KeychainAccess, and LookInsideServer have been added. Additionally, the project structure has been flattened, removing nested groups for Account, Welcome, and Search in favor of a synchronized root group approach.

Asspp.xcodeproj · high confidence

Dependencies

Updated Swift Package Manager dependencies

The project's dependency manifest has been updated to resolve and pin several third-party libraries to newer versions. Notable changes include upgrading ApplePackage to 1.2.7, async-http-client to 1.31.0, async-kit to 1.21.0, ColorfulX to 6.0.2, and console-kit to 4.15.2. New dependencies have also been added to the resolved list, including ButtonKit (0.7.1), Digger (0.0.5), KeychainAccess (4.2.2), LookInside-Release (0.2.2), MSPDisplayLink (2.0.8), swift-argument-parser (1.8.2), swift-asn1 (1.5.1), and swift-async-algorithms (1.1.2).

(dependencies) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Score

  • CAI 43 → 48 (+4.9)
  • Rubric changed (rubric-2026.09.11 → rubric-2026.09.18) — scores are not directly comparable.

Lenses

  • Code Health 99 → 96 (-3.3)
  • Architecture 94 → 95 (+1.5)
  • Maturity 52 → 52 (+0.0)
  • Readiness 17 → 31 (+13.3)
  • Security 55 → 55 (+0.0)

Resolved (1)

  • Off-boarding risk: anonymized user #1

New (37)

  • Documentation: no architecture or design documentation (README.md)
  • Duplicated block (10 lines × 3) (Asspp/Backend/DeviceCTL/DeviceManager.swift)
  • MethodTooLong: Installer.plistEndpoint (Asspp/Backend/Installer/Installer.swift)
  • MethodTooLong: PackageView.body (Asspp/Interface/Download/PackageView.swift)
  • MethodTooLong: SettingView.formContent (Asspp/Interface/Setting/SettingView.swift)
  • Off-boarding risk: anonymized user #1
  • Outdated: async-http-client
  • Outdated: async-kit
  • Outdated: buttonkit
  • Outdated: colorfulx
  • Outdated: colorvector
  • Outdated: console-kit
  • Outdated: digger
  • Outdated: lookinside-release
  • Outdated: msdisplaylink
  • Outdated: swift-asn1
  • Outdated: swift-async-algorithms
  • Outdated: swift-atomics
  • Outdated: swift-certificates
  • Outdated: swift-collections
  • …and 17 more

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

Lakr233/Asspp was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 30 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit caed708182c61897bd539557a10618f9b0eba066 — the exact code this score is about.
  • Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-cb25ca4feafa.