This repository is a curated, community-driven directory of open-source iOS, iPadOS, watchOS, tvOS, and visionOS applications. It is not a software application itself but a data curation and documentation project. The single source of truth is `contents.json`, a structured JSON file containing metadata for over 1,600 projects (title, category, source URL, screenshots, tags, stars, etc.). Ruby scripts in `.github/` transform this JSON into multiple markdown documents: `README.md` (the main categorized list), `APPSTORE.md` (apps with App Store links), `ARCHIVE.md` (deprecated projects), and `LATEST.md` (newest and recently updated entries). The pipeline also enriches data via the GitHub API (stars, license) and validates schema and categories in CI (CircleCI and GitHub Actions). While the repo is not a data research pipeline in the ML sense, it exhibits data engineering patterns: a structured data source, automated ETL (extract from JSON, transform to markdown, load to GitHub), validation, and deployment. The primary value is as a reference for developers seeking open-source iOS code to learn from or reuse.
Airtest is a cross-platform UI automation testing framework developed by NetEase, primarily targeting mobile games and apps. It provides a unified Python API and CLI for automating interactions on Android, iOS, Windows, and Linux devices. The core mechanism is image recognition using computer vision algorithms (template matching, keypoint matching with SIFT/KAZE/BRISK, etc.) to locate UI elements, combined with device-specific input simulation via ADB, minitouch, WebDriverAgent, and pywinauto. The framework supports complex gestures, multi-touch, screen recording, and HTML report generation with step logs and screenshots. Architecturally, Airtest is a library with a CLI entry point (`airtest run/report/info`). It uses a device abstraction layer with platform-specific implementations (Android, IOS, Windows, Linux) that share a common API through `airtest.core.api`. The image matching is handled by the `aircv` subpackage, which offers multiple matching strategies configurable via `CVSTRATEGY`. The Android module employs a proxy pattern for screen capture (Minicap, Javacap, ADB) and touch input (Minitouch, Maxtouch, ADB), allowing runtime switching. The framework also integrates with the Poco UI hierarchy inspection tool and supports cloud device testing. While the primary focus is application testing, the repository includes a small benchmark directory that compares the performance of various image matching algorithms, producing metrics like CPU, memory, and keypoint counts. This is a minor component and does not shift the overall classification away from application. The codebase is well-structured with clear separation of concerns, but shows signs of technical debt such as Python 2 compatibility shims, pinned outdated dependencies (opencv-contrib-python ≤ 4.6.0.66, numpy < 2.0), and bundled precompiled binaries (minitouch, minicap, iproxy) that require periodic updates. The project is actively maintained with frequent commits and community engagement, but test coverage is limited due to reliance on real devices.
Cashew is a production-grade, cross-platform personal finance and budget tracking application built with Flutter/Dart. It manages transactions, multi-currency wallets, budgets with category-level spending limits, savings goals and loans, subscriptions, recurring/auto-pay rules, credit/debt tracking, and spending analytics (pie charts, line graphs, heatmaps, net worth summaries). It ships to Android (with home screen widgets), iOS, web (PWA), and desktop. Data persists locally in SQLite via the Drift ORM with 46 managed schema migrations, and synchronizes across devices through a custom Google Drive sync client, with shared-budget features on Firebase Auth/Firestore/Cloud Functions, plus optional Gmail and notification scanning for auto-generated transactions.
Chatto is a lightweight iOS chat UI framework developed by Badoo, written in Swift. It provides a complete set of components for building chat interfaces, including a core controller (`BaseChatViewController`), a collection view layout optimized for chat, an extensible input bar, and support for various message types (text, photo, compound messages with multiple content blocks). The framework is designed around a presenter pattern where each chat item type has a dedicated presenter responsible for cell sizing, configuration, and interaction handling. It also includes a composable layout system for constructing complex bubble views. The repository includes two library targets (Chatto and ChattoAdditions) and a demo app showcasing features like pagination, swipe-to-reply, message selection, and custom input items. No backend, networking, or data persistence code is present; the demo simulates message sending. The codebase demonstrates solid architectural patterns and has reasonable test coverage, but shows signs of partial migration to a newer collection adapter, deprecated API usage (e.g., keyboard notifications), and some force unwraps. The repository has not seen active development in several years, with many open issues and stale pull requests.
Procursus is a specialized build system and package repository infrastructure designed to compile open-source software into Debian packages (.deb) for Apple platforms (iOS, macOS, tvOS, watchOS). It functions as a cross-compilation environment, orchestrating the fetching, patching, compilation, signing, and packaging of hundreds of packages using a monolithic Makefile-based architecture. The system is primarily used by the jailbreak and iOS development communities to provide a Debian-like package management experience on non-Linux Apple operating systems. The architecture relies heavily on custom build macros, platform-specific patches, and Apple SDK integration. Key entry points include the central Makefile for orchestration, build_tools/ for helper scripts, and makefiles/*.mk for individual package definitions. The system manages complex dependency chains and security entitlements required for iOS/macOS compatibility. While it solves a difficult cross-platform packaging problem, the codebase is tightly coupled to Apple's internal APIs and SDK versions, requiring constant maintenance to keep pace with OS updates.
This is a configuration-only repository for Shadowrocket, an iOS VPN/proxy application. It provides dozens of pre-built rule sets that control how network traffic is routed (direct vs. proxy) and includes ad-blocking rules compiled from multiple public sources such as GFWList, EasyList, and community-maintained domain lists. The repository does not contain any application code, libraries, or data processing pipelines; it is solely a collection of static `.conf` files. The build process that generates these configurations resides in a separate `build` branch (not included in the release branch), using Python scripts to merge and format rules daily via GitHub Actions. Users import these configuration files directly into Shadowrocket for automatic traffic splitting and ad filtering. The rules are continuously updated (daily cron) and include specialized modes like whitelist, blacklist, China-only, and lazy configurations with proxy groups for fine-grained control.
This repository provides curated rule lists for the Shadowrocket iOS proxy application, categorizing tens of thousands of domains and IP ranges into DIRECT (no proxy), PROXY (route through proxy), and REJECT (block) sets. The rules are distributed as Shadowrocket modules that can be loaded independently or combined to implement white-list or black-list routing strategies. The data is aggregated from multiple public sources including dnsmasq-china-list, v2fly domain list, gfwlist, adblock lists, and custom additions for services like TikTok, OpenAI, Telegram, and Google Gemini. The repository also includes a minimal configuration example and factory files that allow users to customize rule sets by appending or excluding specific entries before automated builds. There is no application code; the entire output is data files consumed by Shadowrocket. The repository relies on external CI (not visible in the file tree) to regenerate the modules daily.
This repository is a static website built with Gatsby that serves as a community-maintained directory of iOS apps supporting x-callback-urls. The site is generated from JSON data files describing each app's available URL actions, parameters, and metadata. The architecture is a standard Gatsby static site with React components, CSS modules, and a GraphQL data layer. The primary entry point is the index page which lists all apps with their actions. The codebase is well-organized with clear separation of concerns, but uses outdated dependencies (Gatsby v3, React 17, deprecated babel-eslint) and lacks automated tests or CI/CD pipelines. It is a straightforward, functional application for documenting iOS URL schemes.
This repository is a React Native library that provides platform-specific camera and image/video picker functionality. It exposes two primary functions: `launchCamera` and `launchImageLibrary`, which allow users to capture photos/videos or select existing media from the device library. The implementation covers iOS (using UIImagePickerController and PHPickerViewController), Android (via Intents and the AndroidX Photo Picker), and a minimal web fallback using browser APIs. The library handles image resizing, metadata extraction, video conversion, permission handling, and offers configurable options like quality, media type, selection limits, and more. The codebase follows standard React Native native module patterns with support for both the old and new architecture (TurboModules). While the implementation is functional and well-tested by the community, it includes some code that could be considered dated (e.g., synchronous dispatch semaphore on iOS, inline DOM manipulation on web) and does not contain easily extractable reusable components outside its specific domain.
EKA2L1 is a Symbian OS emulator written in C++17, targeting the EKA2 (and EKA1) kernel used by Nokia S60 smartphones and N-Gage devices. It provides full system emulation including ARM CPU (with multiple backends: dyncom interpreter, 12l1r JIT, and optional Dynarmic), memory management (flexible and multiple address-space models), kernel reimplementation (processes, threads, IPC, timers, libraries), file system, and a wide range of Symbian services (window server, audio, Bluetooth, SMS, camera, DRM, etc.). The emulator supports multiple frontends: a Qt desktop application, an Android app (Java/JNI), and an iOS app (SwiftUI). It also includes a Lua scripting API for runtime debugging and game-specific patches, a GDB stub for remote debugging, and a set of guest-side DLL patches that redirect Symbian hardware calls to the emulator. The codebase is large and complex, with many services partially implemented or stubbed. It is actively maintained but development is part-time, and some platform-specific backends (e.g., iOS, Android) may lag behind the Qt frontend.
SVGKit is a mature Objective-C library for rendering SVG files natively on Apple platforms (iOS, macOS, tvOS, watchOS, visionOS). It provides a full SVG 1.1 parser built on libxml2 SAX, an extensive DOM implementation (Core DOM + SVG-DOM) with CSS style support, and a CALayer-based rendering pipeline that converts SVG elements into Core Animation layers. The library offers two rendering modes: a fast bitmap-based view (SVGKFastImageView) and an interactive layered view (SVGKLayeredImageView). It also includes export utilities for rasterizing SVGs to NSData, UIImage, and NSImage. While functionally solid and widely used (over 4,500 stars), the codebase shows signs of age: many SVG features are stubbed with 'not implemented' assertions, the bundled CocoaLumberjack 2.2.0 is outdated, and there are code duplication and workarounds for Apple private class collisions. The architecture is modular with a plugin-based parser extension system, making specific components (like the path data parser, CSS value parser, and DOM node classes) potentially reusable in other contexts.
IRCCloud iOS is a native iOS IRC client that connects to the IRCCloud backend via a custom WebSocket implementation. The app provides real-time chat, file sharing, push notifications, and a rich set of IRC-specific UI components including color formatting, nickname autocomplete, and animated image support. The architecture is a monolithic iOS application with multiple targets (main app, share extension, notification service) and a singleton-based data layer that persists state via NSCoding. The codebase is primarily Objective-C with some Swift and relies on several vendored third-party libraries (TrustKit, FLEX, YYImage, SBJson) for SSL pinning, debugging, image handling, and JSON parsing. Key entry points include the AppDelegate, MainViewController (central UI orchestrator), and NetworkConnection (WebSocket and API singleton). The repository demonstrates solid iOS craftsmanship with reusable IRC-specific utilities but shows technical drift in its use of deprecated iOS APIs and older third-party dependencies.
This repository is a comprehensive Flutter learning project that simulates an e-commerce management system (merchant order, goods, statistics, shop settings, account/withdrawal). It showcases a wide array of Flutter techniques: MVP architecture with a base presenter pattern, provider state management, custom animations (Lottie, ripple, scratch card), custom chart widgets (bezier and pie charts), complex scrolling (NestedScrollView, custom scroll view), dark mode, localization (English/Chinese), QR code scanning, image picking, AMap integration, and more. The application contains multiple modules connected via fluro routing, with Dio for networking (targeting a mock GitHub API). While the codebase demonstrates many patterns and includes a significant test suite (unit, integration, accessibility), it is primarily a personal learning project and contains several signs of incomplete migration, mock-only behaviors, workarounds, and copied/vendored code. As such, it serves as a rich educational reference for Flutter development but is not production-ready without refinement.
This repository is a comprehensive collection of ad-blocking filter lists, CSS styles, JavaScript scripts, and configuration files for proxy tools (Surge, QuantumultX, Shadowrocket, Clash) and browser extensions (uBlock Origin Lite, Tampermonkey). It targets both international and Chinese websites, with a strong focus on streaming, adult, and content farm sites. The core functionality is delivered through platform-specific rule lists (`.list`, `.conf`, `.sgmodule`, `.yaml`) and a set of userscripts that inject CSS/JS into web pages via MITM proxy or browser script managers. The repository also includes a large set of pre-compiled uBlock Origin Lite scriptlets that implement advanced ad-blocking techniques such as cookie removal, attribute removal, eval blocking, and timer manipulation. The project is community-driven, with issue templates for reporting new ad locations. While primarily a configuration/rule collection, it contains substantial JavaScript code that demonstrates client-side ad-blocking patterns.
This is the OpenIM SDK Core, a cross-platform instant messaging client SDK written in Go. It provides the core messaging functionality—send/receive messages, manage conversations, groups, friends, user profiles, and file uploads—for the OpenIM ecosystem. The SDK communicates with an OpenIM server via HTTP REST and WebSocket long connections, and persists data locally using SQLite (native) or IndexedDB (WebAssembly). It features robust incremental synchronization, a callback-driven architecture for event handling, and extensive support for multiple platforms (iOS, Android, Windows, macOS, Linux, Web). The codebase demonstrates solid engineering practices with generic sync engines, caching utilities, and a comprehensive integration test suite. However, it also contains notable code duplication (dual native/WASM storage implementations), incomplete WASM stubs, some panic-based error handling, and alpha-stage dependencies, which prevent it from being exceptional. Overall, it is a functional, actively maintained SDK with reusable patterns for incremental sync and WebSocket connection management.
This repository serves as a release manifest for iOS 26.0, defining specific versions of two open-source dependencies: WebKit and libiconv. It contains no executable code or application logic, functioning solely as a configuration layer to pin submodule versions via .gitmodules and release.json. The repository's purpose is to ensure reproducible builds by referencing exact tags for its submodules, acting as a release coordination tool rather than a standalone application. The structure is minimal: .gitmodules declares the submodule relationships, while release.json metadata associates the iOS release with specific submodule tags. There are no data flows, processing pipelines, or runtime behavior—this is a static descriptor used by build systems or developers to check out correct dependency versions. Its utility lies in release management, providing a clear, versioned snapshot of components for iOS distribution. Despite its simplicity, the repository fulfills its niche role effectively. The files are standard Git and JSON formats, requiring no interpretation. However, it lacks reusable components due to its tight coupling to this specific release and submodule configuration. Maintenance appears ongoing based on recent commit activity and an open issue, with low technical drift as the repository contains no code susceptible to obsolescence—it merely references immutable submodule tags.
This repository contains purely documentation describing a zero-click iOS exploit chain targeting CVE-2025-31200 (CoreAudio heap corruption) and CVE-2025-31201 (AppleBCMWLAN kernel escalation), with an additional unpatched hardware vector via BCM4387 coexistence SRAM. The content is limited to two Markdown files: a detailed technical walkthrough (Attack Chain Flow.md) and a summary README. There is no executable code, data, scripts, or configuration present. The repository serves as a research write-up detailing the attack flow, delivery mechanism, post-exploitation behavior, and mitigation recommendations. It does not contain any reusable data assets, pipelines, or analytical components since it lacks ingested data, transformation logic, or models.
NSLogger is a remote logging framework for Apple (iOS, macOS, tvOS) and Android platforms. It consists of client libraries (C/Objective-C Swift wrapper for Apple, Java for Android) that send structured log messages (text, binary data, images) over TCP to a desktop viewer application. The desktop viewer (macOS app) provides real-time log viewing with filtering, color coding, search, marks, export, and preference management. An iPad viewer application also exists for on-device log viewing with Core Data persistence and Bluetooth support. The codebase includes multiple Xcode projects for different targets, test apps, and vendored third-party libraries (BWToolkit, HockeySDK-Mac, SSSelectableToolbar). While functional and well-known (4.9k stars), the project shows significant age: manual memory management (non-ARC), duplicated viewer logic across Desktop and iPad, incomplete features (JSON message format stubbed), outdated dependencies, and deprecated API usage. It remains a valuable reference for implementing a custom binary logging protocol and network transport layer, but would require modernization for current platform versions.
This repository is a curated list (awesome list) of resources for SwiftUI and Combine, including articles, tutorials, videos, example projects, libraries, open-source apps, courses, and books. It does not contain any source code or executable components; it is purely a markdown-based index of external links. The list is organized by category and serves as a reference for developers building applications with SwiftUI. There are no data pipelines, models, or software artifacts to analyze. The repository is maintained with periodic updates and community contributions.
YapAnimator is a physics-based animation library for iOS, tvOS, and macOS, written in Swift 3.1. It provides a generic `YapAnimator<T>` class that animates any value conforming to the `Animatable` protocol by decomposing it into an array of doubles and applying spring physics integration with a fixed 1/240s timestep. The library includes a convenience layer (`YapAnimatedLayer`) attached to `CALayer` via associated objects, enabling one-liner animations of layer properties like position, bounds, opacity, transform, etc. The core engine runs on a display link (CADisplayLink on iOS/tvOS, CVDisplayLink on macOS) and manages all active animators. The repository is explicitly archived and no longer maintained, with Swift 3.0/3.1 dependencies and no updates since 2017.