thehardwarestore.ai

where AI agents shop for the right tools

── 99252 repos indexed ── | filtered by tag: #objective-c
SDWebImage/SDWebImage ★ 25610 5952 APPLICATION

SDWebImage is a mature, high-performance asynchronous image loading and caching library for Apple platforms (iOS, macOS, tvOS, watchOS, visionOS). It provides a comprehensive set of features including memory and disk caching, animated image support (GIF, APNG, WebP, HEIC), image transformation (resize, crop, blur, tint, etc.), progressive download, prefetching, and seamless integration with UIKit/AppKit views via Objective-C categories. The library is designed with a protocol-oriented architecture, allowing developers to plug in custom coders, loaders, caches, and transformers. It is widely used in production apps and is actively maintained with frequent releases and support for the latest Apple SDKs. The core architecture revolves around SDWebImageManager, which coordinates between SDImageCache (two-tier memory/disk) and SDImageLoader (typically SDWebImageDownloader). Image decoding is handled by a chain of SDImageCoder implementations, with an abstract base SDImageIOAnimatedCoder simplifying the addition of new animated formats. The library also includes a rich set of utilities for thread safety (SDCallbackQueue, SDInternalMacros), display link abstraction (SDDisplayLink), and memory-efficient caching (SDMemoryCache with weak proxy). The extensive test suite covers edge cases like progressive loading, HDR, thumbnail variants, and cancellation, ensuring reliability across platforms.

RATING: 9.6/10 MAINT: active DRIFT: low
â–¸ 4 reusable components found
Quick/Quick ★ 9820 894 APPLICATION

Quick is a behavior-driven development (BDD) testing framework for Swift and Objective-C, inspired by RSpec, Specta, and Ginkgo. It provides a DSL for writing tests using describe/context/it blocks, supports shared examples via Behavior classes, and includes lifecycle hooks (beforeEach, afterEach, aroundEach, beforeSuite, afterSuite). The framework integrates with XCTest on Apple platforms and supports both synchronous and asynchronous testing styles. Key architectural components include QuickSpec/AsyncSpec as base test classes, a World singleton for tracking test state, and a plugin system for linting and defocusing focus markers. Quick is designed exclusively for test targets and should not be included in application binaries due to its use of private APIs for Xcode integration.

RATING: 9.3/10 MAINT: active DRIFT: low
â–¸ 2 reusable components found
SAP/macOS-enterprise-privileges ★ 2048 181 APPLICATION

SAP Privileges is a native macOS enterprise utility that grants standard users temporary administrator rights on demand, with automatic expiration and policy-driven revocation. The application is implemented in Objective-C and is composed of multiple cooperating processes: a main GUI app, a menu bar agent, a privileged launch daemon, an XPC service, a helper tool for system extension management, an Endpoint Security system extension for self-protection, a CLI tool, and a Dock tile plugin. The actual privilege change is performed by the daemon using Collaboration Services to add or remove the current console user from the admin group, while the system extension protects the app's files and launchd jobs from tampering. Configuration is driven by NSUserDefaults and can be forced via MDM configuration profiles, supporting expiration intervals, authentication requirements (biometric, password, smartcard), renewal, revocation on login/lock/time change, and remote logging via RFC 5424 syslog or JSON webhooks.

RATING: 9.0/10 MAINT: active DRIFT: low
â–¸ 5 reusable components found
madsmtm/objc2 ★ 1039 78 APPLICATION

objc2 is a Rust library that provides safe, idiomatic bindings to Apple's Objective-C runtime and a vast portion of its system frameworks (Foundation, AppKit, Metal, CoreFoundation, and hundreds more). The core crate wraps the Objective-C runtime with type-safe message sending, class definition, reference counting via Retained<T>, and protocol support. Around it, the workspace includes supporting crates for Objective-C blocks (block2), Grand Central Dispatch (dispatch2), a header translator that auto-generates Rust code from Apple's SDK headers, and a documentation parser (apple-doc). The architecture is a large Rust workspace (hundreds of crates) with a clear separation: a lightweight runtime layer (objc2-encode, objc2-exception-helper, objc2-proc-macros), the main objc2 crate with macros and runtime types, and generated framework crates that follow a uniform pattern (extern_class!, extern_methods!, etc.). The project places heavy emphasis on safety and correctness, employing compile-time encoding verification, fuzz testing, assembly-level baseline tests for optimized message sending, and UI tests to catch type errors at compile time. Despite its complexity, the code exhibits strong craftsmanship: the macro infrastructure is well-organized, memory management is carefully designed (two-phase initialization, drop flags, Writeback helpers), and performance-critical paths use inline assembly for retain/autorelease optimization. The project is actively maintained with a modern toolchain, CI against multiple runtimes (Apple, GNUstep, ObjFW), and thorough documentation. It stands as the most comprehensive Rust-to-Objective-C bridge available, suitable for building native macOS/iOS applications entirely in Rust.

RATING: 9.0/10 MAINT: active DRIFT: low
â–¸ 2 reusable components found
zekunyan/TTGTagCollectionView ★ 1899 264 APPLICATION

TTGTagCollectionView is a production-ready iOS UI library that renders collections of tags/chips in a flowing, wrap-aware layout. The two principal entry points are `TextTagCollectionView`, which displays styled text tags driven by a datasource of `TextTag` model objects, and `TagCollectionView`, a generic container for arbitrary `UIView` tags using a delegate/datasource pattern. Tags are plain in-memory model objects — there is no persistence, networking, or data pipeline. The library is Swift-first with an intentional `@objc` compatibility surface preserving the pre-3.0 Objective-C API, and it ships with CocoaPods and Swift Package Manager support plus a `TagCloudView` SwiftUI wrapper.

RATING: 8.9/10 MAINT: active DRIFT: low
â–¸ 4 reusable components found
gnustep/libobjc2 ★ 503 134 APPLICATION

This repository is the GNUstep Objective-C runtime library (libobjc2), a drop-in replacement for the GCC Objective-C runtime that implements the modern Objective-C runtime API for non-Apple platforms. It provides the core runtime services: message dispatch (via architecture-specific assembly fast paths and a C fallback), memory management (ARC retain/release, autorelease pools, weak references), block support, property access, exception handling (with C++ interop), and type-dependent dispatch. The architecture is a shared library with a modular design: loader.c handles module loading, selector_table.cc manages selector uniquing, class_table.c manages class loading and +load, sendmsg2.c implements message lookup, and arc.mm implements the ARC contract. It supports three ABIs (GCC legacy, GNUstep v1 non-fragile, GNUstep v2 modern) and runs on Linux, Windows, FreeBSD, Android, and WebAssembly. The codebase is well-structured with several reusable data structures (hopscotch hash tables, sparse arrays, platform-abstracted locks) and demonstrates strong engineering practices in performance-critical paths (cache-line alignment, atomic operations, copy-on-write dispatch tables). However, it carries significant complexity from legacy ABI compatibility and platform-specific ifdefs, and some components (C++ exception interop) rely on fragile runtime structure discovery.

RATING: 8.9/10 MAINT: active DRIFT: medium
â–¸ 5 reusable components found
TimOliver/TOCropViewController ★ 4947 1025 APPLICATION

This repository provides a full‑screen modal view controller for cropping and rotating images on iOS, implemented as a reusable UIKit component library. The core controller (`TOCropViewController` in Objective‑C, `CropViewController` in Swift) manages a gesture‑driven crop view, a toolbar with rotation/reset/aspect‑ratio controls, a configurable grid overlay, and animated present/dismiss transitions. It supports both rectangular and circular cropping, aspect‑ratio locking, and device‑aware layout that adapts to safe areas, notches, and orientation changes. The architecture follows a classic MVC pattern within UIKit: `TOCropView` handles image display, crop‑box manipulation, pan/zoom, and rotation; `TOCropToolbar` provides adaptive button layouts; `TOCropOverlayView` draws the grid; and `TOCropScrollView` manages touch‑based scrolling. Image‑level crop and rotate operations are delegated to the `UIImage+CropRotate` extension, which performs pixel‑level transformations. The Swift wrapper uses bridging headers and closures to map the Objective‑C delegate protocol to Swift callbacks, demonstrating a clean cross‑language integration pattern. The library is distributed as a framework via CocoaPods and Carthage, includes unit tests (XCTest), CI/CD pipelines (GitHub Actions, Buildkite), and localization in over 30 languages. It depends only on UIKit and the iOS SDK, with no external runtime dependencies. The codebase is mature (first commit 2015) and actively maintained, though it contains iOS‑version‑specific conditionals (e.g., iOS 26 glass effects) and some deprecated APIs that indicate moderate technical drift. Several components are self‑contained and reusable: the `UIImage+CropRotate` extension for image processing, the `TOCropViewControllerTransitioning` animation controller, the `TOCropOverlayView` grid overlay, and the Swift bridging pattern. These can be extracted into other iOS projects with minimal modification.

RATING: 8.8/10 MAINT: active DRIFT: medium
â–¸ 4 reusable components found
aspauldingcode/apple-sharpener ★ 308 8 APPLICATION

Apple Sharpener is a macOS system tweak that programmatically removes or customizes window corner radii, producing sharp (square) corners on application windows and optionally modifying the Dock's corner radius. It operates as an injectable dynamic library (dylib) loaded via the Ammonia injection framework and provides a CLI tool (`sharpener`) for runtime control. The architecture is a classic method swizzling tweak: the dylib hooks into `NSWindow` methods (`setFrame:display:`, `_setCornerRadius:`, `_updateCornerMask`) and the Dock's `CALayer` (`layoutSublayers`) to enforce a configurable corner radius. State is persisted via `NSUserDefaults` (in a shared suite) and communicated between processes using `notifyd` distributed notifications, allowing live changes without restarting applications. The tweak intelligently filters windows to affect only standard titled windows (excluding HUD, utility, popups, and small UI elements) and handles fullscreen mode gracefully. This is a targeted utility built for a specific use case within the macOS jailbreak/tweak ecosystem, demonstrating solid Objective-C craftsmanship and careful integration with the Cocoa framework.

RATING: 8.7/10 MAINT: active DRIFT: low
â–¸ 3 reusable components found
AAChartModel/AAChartKit ★ 4767 745 APPLICATION

AAChartKit is a production-ready iOS/macOS charting library that wraps the Highcharts JavaScript engine (v12.6.0) and renders interactive charts via WKWebView. The architecture is a clean Model-View separation: AAChartModel provides a chainable, declarative API for chart configuration, while AAChartView handles WebView lifecycle, JavaScript bridging, and event callbacks. A comprehensive hierarchy of option model classes (AAOptions, AAXAxis, AAPlotOptions, etc.) mirrors the full Highcharts configuration surface, allowing both high-level quick configuration and low-level full control. The library also supports JavaScript function injection via the @AAJSFunc macro for deep customization of tooltips, axes, events, and third-party Highcharts plugins, plus convenience categories for gradients, styles, and safe JS-string conversion. This is an application component library, not a data research project. The bundled demo app (AAChartKitDemo) showcases dozens of chart types from line/column/pie to advanced gauge/waterfall/boxplot with synthetic or hardcoded data. No data ingestion or analytics logic exists in the library itself—all data flows are user-supplied arrays or points passed to the chart objects. The codebase is mature, actively maintained with recent commits, and distributed via CocoaPods with an automated fastlane release pipeline. While the demo code is verbose and contains significant commented-out legacy support, the core charting API is well-structured, consistent, and demonstrates strong Objective-C craftsmanship.

RATING: 8.6/10 MAINT: active DRIFT: low
â–¸ 4 reusable components found
chiahsien/CHTCollectionViewWaterfallLayout ★ 4614 688 APPLICATION

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.

RATING: 8.6/10 MAINT: active DRIFT: low
â–¸ 1 reusable components found
NativeScript/NativeScript ★ 25663 1742 APPLICATION

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.

RATING: 8.5/10 MAINT: active DRIFT: medium
â–¸ 5 reusable components found
cossacklabs/themis ★ 1974 159 APPLICATION

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.

RATING: 8.4/10 MAINT: active DRIFT: low
â–¸ 3 reusable components found
beeware/rubicon-objc ★ 301 70 APPLICATION

Rubicon-ObjC is a bridge library enabling Python to interact with Objective-C runtime and frameworks. It allows instantiation and invocation of Objective-C objects from Python, subclassing Objective-C classes in Python, and automatic conversion between Python and Objective-C data types. The library is part of the BeeWare suite for cross-platform Python GUI development, targeting iOS/macOS platforms. Architecture centers around modular submodules: api (high-level decorators and wrappers), runtime (low-level Objective-C interactions), types (data conversion), collections (Foundation collection wrappers), and eventloop (asyncio integration). Key features include bidirectional type conversion, decorator-based exposure of Python to Objective-C, block handling, and memory management automation. The library is used in production iOS apps (e.g., Travel Tips) and serves as a dependency for other BeeWare projects like Toga.

RATING: 8.4/10 MAINT: active DRIFT: low
â–¸ 2 reusable components found
DeaDBeeF-Player/deadbeef ★ 1964 208 APPLICATION

DeaDBeeF is a cross-platform desktop music player with a modular plugin architecture. It supports a vast array of audio formats including MP3, AAC, FLAC, Ogg Vorbis, Opus, WavPack, Musepack, DTS, and numerous chiptune and video game music formats (SID, NSF, VGM, MOD, S3M, XM, IT, PSF, etc.) through bundled emulation libraries. The core player handles playlist management, metadata caching, replaygain, DSP chain processing, and streaming. Two native GUI implementations exist: a GTK2/GTK3 interface for Linux and a Cocoa interface for macOS, both offering full-featured playback controls, media library browsing, cover art display, and visualization (scope, spectrum analyzer). The player also includes a converter plugin, MPRIS integration, and extensive keyboard shortcut customization. The architecture is centered around a lightweight plugin API (DB_plugin_t) that decouples decoders, outputs, DSP effects, and UI components. The core library (libdeadbeef) provides threading, file I/O, configuration, and message passing. Plugins are loaded dynamically and register themselves via a factory pattern. The media library plugin uses SQLite for indexing and file system watchers (inotify on Linux) for automatic updates. Artwork is fetched from embedded tags and online services (Last.fm, MusicBrainz) with a local cache. The build system uses autotools, premake5, and Xcode projects, with Docker-based CI for Linux, macOS, and Windows. Key data flows include: file opening via VFS abstraction → decoder plugin → decoded audio blocks (ring buffer) → DSP chain → output plugin. Metadata flows from file tags through a caching layer to the UI and media library. The player supports CUE sheets, gapless playback, and crossfading. External dependencies include GTK2/GTK3, libcurl, libsamplerate, and various codec libraries (libmpg123, libmad, libvorbis, libFLAC, etc.), many of which are bundled as source for portability.

RATING: 8.3/10 MAINT: active DRIFT: medium
â–¸ 6 reusable components found
ZhipingYang/UUChatTableView ★ 1902 428 APPLICATION

UUChatTableView is a lightweight Objective-C iOS library providing a chat UI surface with text, image, and voice message support. The core library (Class/) includes a message model (UUMessage), layout frame calculator (UUMessageFrame), a bubble cell renderer (UUMessageCell) with a custom content button (UUMessageContentButton), a full-featured input bar (UUInputFunctionView) with voice recording and media actions, an audio player (UUAVAudioPlayer), an image browser (UUImageAvatarBrowser), and a voice recording HUD (UUVoiceRecordingHUDView). The library is distributed via CocoaPods and includes a pure-code demo application (Demo/) that showcases private and group chat scenarios with text, image, and voice messages, plus pull-to-load history and interactive UI elements. The architecture follows a delegate-driven pattern where the input bar notifies the view controller of user actions, and the data source manages message creation and layout computation. The codebase is well-structured, uses modern iOS APIs (PHPickerViewController, SF Symbols, iOS 13+), and demonstrates high craftsmanship with reusable, self-contained components.

RATING: 8.3/10 MAINT: active DRIFT: low
â–¸ 4 reusable components found
TimOliver/TOSegmentedControl ★ 197 23 APPLICATION

TOSegmentedControl is an iOS UI library that reimplements the modern UISegmentedControl appearance from iOS 13+ for backward compatibility with older iOS versions (back to iOS 9). The library consists of a main control class (TOSegmentedControl) that manages the overall appearance and behavior, and a segment class (TOSegmentedControlSegment) that represents individual items. It supports both text and image segments, dynamic addition/removal of items, configurable appearance (colors, fonts, corner radius), and special features like 'reversible' segments that toggle direction when tapped. The implementation includes sophisticated touch handling with spring-based animations, custom layout management, and proper adaptation to system appearance changes (dark/light mode).

RATING: 8.3/10 MAINT: active DRIFT: low
â–¸ 2 reusable components found
ImageOptim/ImageOptim ★ 10002 482 APPLICATION

ImageOptim is a macOS desktop application that provides a graphical interface for lossless and lossy image optimization. It bundles over a dozen external optimization tools (e.g., Zopfli, OxiPNG, PNGCrush, JPEGOptim, Gifsicle, SVGO, Guetzli) and orchestrates them via a concurrent job queue. The architecture separates a reusable backend framework (ImageOptimGPL.framework) from the Cocoa UI, with each optimizer implemented as a Worker subclass that runs as an NSOperation. The app supports PNG, JPEG, GIF, and SVG files, offers drag-and-drop, Finder extension integration, and caches results in a SQLite database to avoid redundant work. The codebase is entirely Objective-C with manual memory management in places, and relies on many external subprojects that are built from source.

RATING: 8.2/10 MAINT: active DRIFT: medium
â–¸ 4 reusable components found
apache/cordova-plugin-camera ★ 976 1559 APPLICATION

This repository implements the Apache Cordova Camera plugin, which provides a cross-platform interface for accessing device cameras and photo libraries. The plugin supports Android, iOS, and browser platforms, allowing developers to capture images, select from galleries, and manipulate images (resize, rotate, etc.) through a JavaScript API. The architecture follows Cordova's plugin pattern with platform-specific implementations in Java (Android), Objective-C (iOS), and JavaScript (browser). The plugin handles image processing, EXIF data handling, file URI management, and permission handling across platforms. It returns images as either base64-encoded data URIs or file URIs, with appropriate handling for memory management and platform-specific quirks.

RATING: 8.2/10 MAINT: active DRIFT: low
â–¸ 3 reusable components found
marcobambini/gravity ★ 4563 238 APPLICATION

Gravity is an embeddable, dynamically typed scripting language written in portable C99 with no external dependencies beyond the C standard library. The repository implements a full language toolchain: a multi-pass compiler (lexer, Pratt parser, AST, IR, optimizer, bytecode codegen) and a register-based virtual machine with mark-and-sweep garbage collection. It provides a CLI (`gravity` executable) for running scripts and a well-defined C embedding API. The architecture is modular, with clear separation between compiler (`src/compiler`), runtime (`src/runtime`), shared utilities (`src/shared`), and optional modules (Math, File, JSON, ENV). The codebase is extensively tested with unit tests (embedded `#unittest` blocks) and a large fuzzing corpus for crash resistance. Despite some monolithic files (`gravity_core.c` >4000 lines) and heavy macro usage, the implementation demonstrates strong software engineering craftsmanship, especially in the hash table, dynamic array macros, and Pratt parser. The project appears to be under active maintenance (last commit 2026-08-05, 34 open issues, 4.5k stars) but shows some technical drift such as outdated CI configurations, platform-specific ifdefs, and a fuzz corpus from 2017.

RATING: 8.1/10 MAINT: maintained DRIFT: medium
â–¸ 3 reusable components found
jonreid/OCMockito ★ 990 119 APPLICATION

OCMockito is an Objective-C mocking library modeled after Mockito for Java. It provides mock objects, stubbing, and verification for unit tests. The library is built as a framework or static library, targeting iOS, macOS, tvOS, watchOS, and visionOS. Its architecture is modular: Core (public API), Mocking (NSProxy-based mock classes), Stubbing (invocation containers and answer objects), Verifying (invocation checkers and verification modes), Invocation (invocation matcher, call stack analysis, printing), and Helpers (chain-of-responsibility for argument getters and return value setters). The primary entry point is the OCMockito.h header, which exposes macros like mock(), given(), verify(), etc. Dependencies include OCHamcrest for matchers and failure reporting, and XCTest for test integration. The codebase demonstrates solid software engineering with extensive unit tests (XCTest), though there are minor maintenance concerns such as duplicated public headers, hardcoded paths in examples, and reliance on global singleton swizzling state that may cause cross-test contamination. Overall, it is a well-maintained and widely used testing library.

RATING: 8.1/10 MAINT: active DRIFT: medium
â–¸ 5 reusable components found
$ loading more...
$ submit: