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.
SFSafeSymbols is a Swift library that provides type-safe, compile-time checked access to Apple's SF Symbols. Instead of using string literals like `Image(systemName: "arrow.left")`, developers use generated static properties like `._arrowLeft` on the `SFSymbol` type, eliminating runtime crashes from typos and ensuring correct availability across OS versions. The library is distributed as a Swift Package, CocoaPod, and Xcode project, supporting iOS, macOS, tvOS, watchOS, and visionOS. It includes convenience initializers for SwiftUI (`Image`, `Label`, `Button`, `Tab`, `ContentUnavailableView`, `MenuBarExtra`), UIKit (`UIImage`, `UIApplicationShortcutIcon`), AppKit (`NSImage`), and AppIntents. The core architecture consists of a base `SFSymbol` class with `Codable` conformance and dynamic localization via `@dynamicMemberLookup`, plus thousands of auto-generated static properties organized by SF Symbols version. A companion command-line tool, `SymbolsGenerator`, parses Apple's metadata files (plists, strings) and produces the Swift source files, ensuring the library stays in sync with each OS release. The codebase is well-tested with unit tests for all framework extensions and runs CI on multiple Xcode versions and platforms.
DeviceKit is a pure-Swift library that provides a value-type replacement for Apple's UIDevice. It detects the exact device model (iPhone, iPad, iPod, Apple Watch, Apple TV) via hardware identifiers obtained from the system's uname() and maps them to an exhaustive enum with over 150 cases. Beyond identification, it exposes a rich set of computed properties such as screen diagonal, PPI, screen ratio, battery state (iOS/watchOS), cameras, Apple Pencil support, CPU/SoC, 5G support, USB-C connectivity, LiDAR sensor, Dynamic Island, and more. The library is architected as a single source file (Device.generated.swift) generated from a Python template (Device.swift.gyb) that encodes per-device metadata. It uses platform compilation guards (os(iOS), os(tvOS), os(watchOS)) to provide platform-specific APIs, and includes an indirect .simulator case to propagate properties through to simulated devices. DeviceKit has no external runtime dependencies and is distributed as a framework via CocoaPods, Carthage, and Swift Package Manager. Its primary entry point is `Device.current`, returning the running device as a value type, with static helpers like `Device.allPhones` and instance methods like `isOneOf(_:)` for group checks.
ReNative (rnv) is a cross-platform development CLI tool and framework that enables building applications for mobile (iOS, Android), web, TV (Tizen, webOS, Fire TV, Android TV, tvOS), desktop (macOS, Windows, Linux, Electron), wearables, and consoles from a single codebase. The system uses a monorepo architecture with modular packages: a core library (`@rnv/core`) providing configuration merging, plugin management, template injection, and task orchestration; platform-specific engines (`@rnv/engine-rn`, `@rnv/engine-rn-electron`, `@rnv/engine-rn-next`, etc.) that define build logic and native project templates; SDK packages (`@rnv/sdk-android`, `@rnv/sdk-apple`, `@rnv/sdk-tizen`, etc.) for platform-specific tooling like device management and code generation; and a CLI entry point (`rnv`) that dispatches commands to registered tasks. The primary data flow involves reading hierarchical configuration files (`renative.json`, `appConfigs/`), merging them with plugin definitions and engine defaults, injecting placeholders into platform templates (e.g., AndroidManifest.xml, Xcode project files, Webpack configs), and then invoking native build tools (Gradle, Xcode, Webpack, etc.) to produce deployable artifacts. External dependencies include React Native, Electron, Next.js, Webpack, and platform SDKs (Android SDK, Xcode, Tizen SDK, webOS SDK). The framework also includes a telemetry module, Docker integration, and a build hooks system for custom pre/post-publish scripts.
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.
This repository is a curated list of applications for Apple TV, organized into categories such as video, live TV, music, games, network tools, browsers, system utilities, and sideloading tools. It serves as a reference guide rather than a functional software project, containing only a README.md file with links and descriptions of various tvOS apps sourced from the App Store and GitHub. The repository does not contain any executable code, scripts, or configuration files that would enable it to perform tasks beyond providing informational content.
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.