This repository is the open-source iOS client for Kickstarter, a crowdfunding platform. It is a production-grade application built with Swift, UIKit, and SwiftUI, following an MVVM architecture with heavy use of ReactiveSwift and some Combine. The app supports project discovery, pledging, rewards, comments, video feeds, user settings, and authentication. The codebase is well-structured with a dedicated design system (KDS), GraphQL integration via Apollo, extensive snapshot and unit testing, and feature flag experimentation via Statsig. While the code quality is high with many reusable patterns (ValueCell, ShimmerLoading, PaginatingList), there is moderate technical drift due to the coexistence of two reactive frameworks, legacy color references, and some deprecated button styles.
FXGL is a mature, feature-rich game development framework for the Java Virtual Machine, built on JavaFX. It provides a comprehensive Entity-Component-System (ECS) architecture with integrated 2D physics (Box2D port), A* pathfinding, particle systems, animation DSL, input handling, networking (TCP/UDP), localization, mini-games, and a dialogue/cutscene system. The framework emphasizes rapid prototyping via a fluent DSL (Kotlin/Java) and includes extensive sample applications. It also offers developer tools like a dialogue editor, in-game profiler, and debug console. While primarily a 2D engine, it includes basic 3D support. The codebase is well-structured with modular Maven modules, extensive unit tests, and a service-oriented design.
DeviceKit is a Swift library that provides a value-type replacement for Apple's UIDevice class, enabling device detection across iOS, tvOS, and watchOS platforms. It identifies real devices and simulators (iPhone, iPad, iPod, Apple TV, Apple Watch) and exposes properties such as screen diagonal, aspect ratio, PPI, battery state, CPU, camera types, and hardware features (e.g., eSIM, 5G, USB-C, LiDAR, Apple Pencil support). The library uses a code generation pipeline: a Python template engine (GYB) processes a template file (Device.swift.gyb) to produce the main Swift source (Device.generated.swift), which is checked into the repository. The architecture is a single Swift framework with conditional compilation for each target OS, and it depends only on Apple's UIKit/WatchKit. The project is actively maintained with frequent releases aligned with Apple device launches, comprehensive tests, and CI across multiple simulator targets.
CHTCollectionViewWaterfallLayout is a UICollectionViewLayout subclass that implements a Pinterest-like waterfall layout for iOS and tvOS. It provides a configurable multi-column grid that arranges items of varying heights into the shortest column first, with support for per-section headers, footers, column counts, insets, and spacing. The library is implemented in both Swift and Objective-C, distributed via CocoaPods and Swift Package Manager, and requires iOS 13+ / tvOS 13+. It does not depend on any third-party frameworks and is designed to be a drop-in replacement for UICollectionViewFlowLayout when a waterfall arrangement is desired. The Swift implementation (v1.0.0) is a complete rewrite with modern API conventions and improved type safety.
SimUtil is a Dart-based terminal UI/CLI for managing iOS simulators and Xcode Derived Data. It wraps `xcrun simctl` to list, boot, shut down, install, launch, and interact with simulator devices, and adds conveniences like showing/cleaning Derived Data. The app is operated entirely from the terminal and stores user preferences in `~/.simutil/settings.yaml`, including a `plugins:` section for custom commands. Architecturally it separates terminal UI components (`lib/components`) from services (`lib/services`) such as `CommandExec` (a shell-command abstraction), `UserConfig` (YAML settings with first-run defaults and scalar merge), and Derived Data helpers. A `tool/generate_changelog.dart` code generator parses `CHANGELOG.md` and emits typed Dart data so the app can show post-update changelog dialogs. Tests cover the changelog generator and config file behavior, and CI runs build/install verification across platforms.
Stream Chat Swift is an iOS/macOS SDK for building real-time chat and messaging applications. It provides a modular architecture separating core networking (StreamChat), UI components (StreamChatUI), and shared utilities (StreamChatCommonUI). The SDK supports features like channels, messages, reactions, threads, polls, attachments, typing indicators, and presence. It uses Combine for reactive programming, Core Data for persistence, and WebSocket for real-time communication. The repository includes demo applications, example implementations (SlackClone, MessengerClone, etc.), and extensive testing infrastructure. The SDK follows protocol-oriented programming with dependency injection via Appearance and Components providers, enabling high customization.
ImagePickerKMP is a Kotlin Multiplatform library (not a standalone application) that delivers production-grade media picking and barcode scanning capabilities for Android, iOS, JVM desktop, and web/JS/Wasm targets. The photo module (imagepickerkmp-photo) provides camera capture, gallery selection, image cropping, EXIF extraction with GPS redaction, configurable compression (LOW/MEDIUM/HIGH), and permission-request UI, all driven through a Compose Multiplatform API centered on rememberImagePickerKMP(). The scanner module (imagepickerkmp-scanner) provides continuous barcode/QR scanning with auto-zoom, distance warnings, batch mode, phantom-code suppression, and enterprise inactivity overlays, using ML Kit on Android and AVFoundation/Vision on iOS. A shared imagepicker-core module abstracts permissions, filesystem access, URI handling, language detection, and logging across platforms via the Kotlin expect/actual mechanism. The library is distributed as versioned Maven artifacts with a published JS bundle for web integration. Architecturally, the codebase is a modular multi-artifact Gradle project: imagepicker-core (infrastructure), imagepickerkmp-photo, and imagepickerkmp-scanner, with each module enforcing dependency boundaries (the scanner module explicitly prohibits depending on the photo module). Its design leans on config-driven API design (large nested data classes such as ImagePickerKMPConfig and ScannerBehaviorConfig with runtime validation), observable state holders (sealed Idle/Loading/Success/Dismissed/Error states backed by Compose mutableStateOf), and event-driven scanner orchestration. Platform-specific behavior is cleanly isolated through expect/actual: Android uses CameraX, ActivityResultContracts, and ExifInterface; iOS uses UIImagePickerController, PHPicker, PhotosUI, and CoreGraphics; desktop/web use file choosers or documented no-op stubs where camera hardware is unavailable. Localization spans 14 languages via YAML translation files and the i18nkonfig plugin, and CI (GitHub Actions) runs detekt static analysis, Kover coverage verification with a 90% line minimum, unit tests across commonTest/androidUnitTest/iosTest, and publishes coverage to Codecov. Maintenance is active: a recent commit history on the develop branch, one open issue, zero Dependabot alerts, and continuously updated Kotlin 2.x / Compose Multiplatform versions indicate steady upkeep. Known rough edges include intentionally blank PlatformPrewarm files, crop implementation stubs on JS/WASM, a handful of placeholder tests asserting true, duplicated permission-handling logic across photo/scanner modules, and a potentially stale build-and-bundle.sh referencing an old JS build path. Overall, this is a well-crafted, professionally engineered KMP library with genuinely reusable cross-platform abstractions and strong test discipline; it is a solid reference for Kotlin Multiplatform architecture and Compose-based camera/scanning UX.
NativeScript is a mature, cross-platform mobile application framework that enables developers to build native iOS, Android, and visionOS apps using JavaScript, TypeScript, or Angular. The repository is structured as a monorepo containing the core runtime (`@nativescript/core`) with platform-abstracted UI components, styling engine, data binding, and application lifecycle management; dual build toolchains (`@nativescript/vite` and `@nativescript/webpack5`) with Hot Module Replacement (HMR) support; platform type definitions (`@nativescript/types-ios`, `@nativescript/types-android`); and native widget libraries (Android Java, iOS Objective-C). The architecture is component-based: XML-declared UIs are parsed by a builder, instantiate native views, and styled via a custom CSS engine with selector matching, inheritance, and animations. An extensible property system with coercion, CSS properties, and change tracking drives reactivity. HMR infrastructure includes a Vite plugin that serves modules over WebSocket with framework-specific strategies (Angular, Vue, Solid, TypeScript). The codebase is heavily tested with unit tests (Vitest), platform-specific integration tests, and Appium E2E tests. Reusable design patterns include the observable data binding, property change origin tracking, platform-qualified file resolution, and CSS media query parsing. Notable technical drift risks include the coexistence of two build systems (webpack5 deprecated in favor of Vite), extensive platform-specific code duplication (`.android.ts`/`.ios.ts` pairs), and reliance on some deprecated iOS APIs in type declarations. Overall, it is a well-engineered framework with a large ecosystem and active development.
SpotiFLAC-Mobile is a cross-platform mobile application (Android and iOS) that enables users to download and play high-fidelity music in lossless formats such as FLAC and DSD. It operates through an extension-based architecture where community-provided plugins supply download sources, metadata, lyrics, and cover art. The application integrates with streaming services like Deezer, Tidal, Qobuz, and Spotify via these extensions, handling authentication, rate limiting, and content resolution. The system is built on a multi-language stack: a core Rust backend handles audio processing, metadata tagging, library management, and network communication; a Flutter (Dart) frontend provides the user interface; and platform-specific code in Kotlin (Android) and Swift (iOS) bridges native features like file system access, USB audio output, and system audio routing. The Rust backend is exposed to mobile languages via UniFFI-generated bindings. Key data flows include: extension-based download orchestration with cancellation and progress reporting, audio file finalization (metadata embedding, ReplayGain scanning, cover art insertion), incremental library scanning with SQLite persistence, and multi-provider lyrics fetching with caching. The application also features hi-res audio authenticity verification using STFT analysis, direct USB audio output for bit-perfect playback, and a comprehensive extension management system with sandboxed JavaScript runtimes. External dependencies include FFmpeg for audio conversion, libusb for USB audio transport, and various web APIs (Deezer, MusicBrainz, LRCLib, Apple Music, etc.) for metadata and lyrics enrichment. The project demonstrates strong engineering practices with extensive unit and integration tests, a modular crate architecture, and reusable patterns for cancellation, progress tracking, and caching.
This repository is a toolchain for generating Apple Configuration Profiles (.mobileconfig) that configure DNS over HTTPS (DoH) and DNS over TLS (DoT) on iOS, iPadOS, and macOS devices. It maintains a curated registry of public encrypted DNS providers (e.g., AdGuard, Cloudflare, Quad9, CleanBrowsing) with metadata such as server addresses, filtering capabilities, and region. The build pipeline reads provider definitions from JSON files under src/, generates unsigned profiles in profiles/, optionally signs them with CMS digital signatures using a user-provided ECC certificate, and places signed versions in signed/. It also produces multi-language README files (English, Simplified Chinese, Traditional Chinese) with provider tables and installation links. The architecture is a set of TypeScript scripts executed via npm commands (build, sign, new, test). There is no runtime server or daemon; the output is static files intended for manual installation by end users. The interactive CLI (npm run new) guides users through creating new provider profiles with validation and optional signing. The codebase demonstrates solid engineering practices: deterministic UUIDs (v5) for stable profile identifiers, CMS signing with both Node.js crypto and OpenSSL parity tests, and a modular design that separates provider data, language templates, and build logic. While the repository is primarily a build tool, it also serves as a reference for encrypted DNS provider capabilities and a practical solution for deploying encrypted DNS on Apple devices. The signed profiles provide authenticity verification, and the multi-language support broadens accessibility. The code is well-structured and maintainable, though it relies on external certificates for signing and manual updates to provider data when server endpoints change.
react-native-restart is a small React Native native module that programmatically reloads the running JS bundle at runtime — a full process restart on Android, a bundle reload in-process on iOS and Windows. The architecture is a deliberately thin TypeScript bridge (src/index.tsx) over three native implementations, all registered under the module name RNRestart. The JS layer resolves the native module through TurboModuleRegistry on the New Architecture with a NativeModules fallback for the legacy bridge, and throws a descriptive linking error when the module was never linked. A TurboModule spec (src/NativeRNRestart.ts) drives RN codegen on Android and Windows. The public API is just three calls: restart(reason?), the deprecated Restart(reason?) alias, and getReason() which returns a reason that survives the restart.
MethaneKit is a cross-platform graphics rendering framework that provides abstractions over DirectX 12, Vulkan, and Metal APIs. It features a layered architecture with platform-independent interfaces (RHI), platform-specific implementations, an application framework, UI components, and mathematical utilities. The framework includes tutorial applications demonstrating various graphics techniques from basic triangle rendering to compute shaders and parallel rendering. Key systems include resource management, command submission, pipeline state handling, and synchronization primitives. The codebase demonstrates modern C++ practices with extensive use of templates, PIMPL idiom, and interface-based design.
AsyncBluetooth is a Swift Package Manager library that brings Swift Concurrency to CoreBluetooth. It wraps the central manager and peripheral delegate APIs into async/await methods and AsyncStreams, so clients can scan, connect, discover services and characteristics, read/write values, and subscribe to notifications without nested delegate callbacks. It is not a standalone application; it is a dependency library for Apple-platform apps performing Bluetooth Low Energy central-role work. Architecturally, the code is split into CentralManager and Peripheral layers, with supporting types for scan data, services, characteristics, and events. A notable internal component is CentralManagerContext, a serialized async work queue that guarantees per-key operation ordering and supports cancellation. CoreBluetooth callbacks are translated into typed event enums such as CentralManagerEvent and exposed as AsyncStreams. The library uses os.log for diagnostics and ships a privacy manifest, indicating modern Apple platform practices. Maintenance is active: the repository has recent commits and a 6.2.2 tag. The code uses current Swift concurrency features, has no third-party dependencies, and includes tests. Technical drift is low.
UTM is a full-featured virtual machine host for iOS and macOS, built on top of QEMU and Apple's Virtualization.framework. It allows users to run operating systems such as Windows, Linux, and macOS on Apple devices. The application provides a SwiftUI-based interface for creating, configuring, and managing virtual machines, with support for both emulation (QEMU) and native hypervisor (Apple Virtualization) backends. Key features include SPICE-based display and input, USB device passthrough, shared directories, clipboard synchronization, remote access via a custom TLS-secured protocol, and AppleScript automation. The architecture is modular, with separate layers for configuration models (Codable structs), platform-specific UI (iOS/macOS/visionOS), services (VM lifecycle, SPICE I/O, logging), and a remote server/client component. The build system is complex, involving cross-compilation of patched QEMU, SPICE, and dozens of other libraries via shell scripts, and the project supports multiple product variants (standard, SE with threaded interpreter, remote-only).
Gopeed is a high-performance, cross-platform download manager written in Go with a Flutter frontend. It supports HTTP/HTTPS, BitTorrent, Magnet links, ed2k, and HLS streaming protocols. The backend provides a REST API, CLI, and an MCP server for AI agent integration. The frontend is a full-featured Flutter app for desktop (Windows, macOS, Linux), mobile (Android, iOS), and web. Key features include multi-connection downloads with slow-start and work-stealing, a JavaScript extension system (goja) with polyfills for fetch, XHR, Blob, and streams, archive extraction (zip, 7z, rar), webhook/script notifications, and browser impersonation via TLS fingerprinting. The architecture is modular: protocol-specific fetchers implement a common interface, the download engine manages task lifecycle and persistence (BoltDB), and the UI communicates via RPC or FFI. The codebase is well-tested with extensive integration tests and includes a legacy Flutter UI (ui/flutter_old) alongside the current one, indicating an ongoing migration from GetX to Riverpod.
Themis is a cross-platform cryptographic library developed by Cossack Labs, providing high-level security primitives such as Secure Cell (symmetric encryption with three modes: Seal, Token Protect, Context Imprint), Secure Message (asymmetric encryption and digital signing), Secure Session (mutual authentication and key exchange), Secure Comparator (zero-knowledge password comparison), and key generation (EC, RSA, symmetric). The core is implemented in C with a cryptographic engine abstraction layer (Soter) that supports OpenSSL, BoringSSL, and a custom Ed25519 implementation. The library exposes consistent APIs across 13+ language wrappers including Python, Go, Rust, Java, Swift, Objective-C, JavaScript (Node.js and WebAssembly), PHP, Ruby, C++, and React Native. The codebase is well-structured with extensive unit, integration, and fuzz testing, CI/CD pipelines for each wrapper, and cross-language compatibility tests. While the repository has deprecated older APIs and maintains multiple backends, it remains actively maintained with regular releases, security patches, and community engagement.
This repository is a Flutter plugin that bridges Flutter applications with Apple CarPlay and Android Auto in-car infotainment systems. It provides a Dart API to construct native vehicle-optimized UI templates (lists, grids, tab bars, alerts, search, etc.) and manage navigation stacks on both platforms. The architecture is a classic Flutter plugin pattern: Dart models serialize to JSON, which is passed via method channels to native iOS (Swift) and Android (Kotlin) implementations that render the corresponding native CarPlay/Android Auto templates. Event channels handle user interactions (list item selection, alert actions, connection changes) back to Dart. The plugin includes a sophisticated SVG rasterization utility that converts Flutter asset SVGs to PNG bytes for native consumption, since native platforms cannot render SVG directly. It also provides image loading with caching and tinting on both platforms. The example app demonstrates full setup and usage for both iOS and Android, including scene delegate configuration and Android Auto service registration. External dependencies include the Flutter SDK, flutter_svg for rasterization, and native frameworks (CarPlay.framework on iOS, Car App API on Android).
This repository is a React Native library that wraps Radar's native iOS and Android SDKs to provide geofencing, location tracking, trip tracking, geocoding, search, context, route/matrix, places, beacons, fraud verification, and in-app messaging capabilities. It exposes a JavaScript API (Radar.initialize, Radar.autocomplete, etc.) and optional UI components (Map, Autocomplete) for use in React Native applications. The architecture consists of a TypeScript/JavaScript layer that communicates with native code via React Native's bridge (old and new architectures), with vendored iOS xcframeworks and Android Java modules. The library handles native setup automation (AppDelegate injection, Podfile modification) through an Expo config plugin, and includes version sync scripts to keep SDK versions consistent across platforms. It supports both iOS and Android, with optional fraud and motion SDK extensions. The example app demonstrates usage with MapLibre for map display. The codebase is well-structured with CI workflows, tests for the Expo config plugin, and careful version management, though it carries binary xcframework artifacts and dual architecture support that increase maintenance surface.
ZLPhotoBrowser is a mature, feature-rich iOS library for selecting, previewing, and editing photos and videos, inspired by the WeChat photo picker. It provides a full-screen image/video preview with pinch-to-zoom, a custom camera with photo and video recording, and an extensive image editor supporting drawing, mosaic, text/image stickers, filters, brightness/contrast/saturation adjustments, and clipping with various aspect ratios. The library also handles GIFs, Live Photos, and video trimming/merging. It is built entirely in Swift and targets iOS 10+. The architecture is UIKit-based, centered around a navigation controller flow (`ZLImageNavController`) that manages album list (`ZLAlbumListController`), thumbnail grid (`ZLThumbnailViewController`), and preview (`ZLPhotoPreviewController`). Configuration is handled via singleton classes (`ZLPhotoConfiguration`, `ZLPhotoUIConfiguration`, `ZLEditImageConfiguration`) with a builder-pattern chaining API. The library uses `PHPhotoLibrary` for asset fetching, `AVFoundation` for camera and video processing, and `Core Image` for filters. It includes custom interactive transitions for dismiss and pop animations, and a gesture coordinator for sticker manipulation. Key entry points are `ZLPhotoPicker` (SwiftUI wrapper) and `ZLPhotoPreviewSheet` (UIKit) for presenting the picker. The library has no external dependencies for its core functionality; the example app bundles Kingfisher and SnapKit for demonstration purposes. It supports CocoaPods, Carthage, and Swift Package Manager, and includes localization for 17 languages. The codebase is well-structured with clear separation of concerns, though some view controllers are large and there is minor duplication in transition logic.
Theos is a cross-platform build system designed primarily for developing iOS jailbreak tweaks, tools, and applications, but also supports macOS, Linux, and Windows targets. It is built entirely on GNU Make, with a modular architecture that separates master (top-level) and instance (sub-make) rules for parallel building. The system includes a Logos preprocessor for Objective-C hooking, a NIC (New Instance Creator) for project scaffolding, and packaging support for .deb, .rpm, .pkg, and .ipa formats. Key entry points are `makefiles/common.mk` (main include), `makefiles/rules.mk` (compilation rules), and `makefiles/target.mk` (target parsing). External dependencies include Xcode (macOS), LLVM toolchains (Linux/Windows), Perl, and dpkg-deb. The codebase demonstrates high craftsmanship in its Makefile patterns, schema-based variable overrides, and modular design, though it relies on several submodules and has some legacy components (e.g., Cygwin support).