objc2

repository·main·Indexed 21 days ago

https://github.com/madsmtm/objc2

A collection of Rust crates providing high-fidelity Objective-C interoperability. It includes the core objc2 crate for runtime bindings, block2 for Apple C blocks, dispatch2 for Grand Central Dispatch, and objc2-encode for type-encoding. The project also features a header-translator tool to generate framework crates from Objective-C headers and an exception helper for catching Objective-C exceptions.

Tokens
114.2K
Snippets
350
Records
665
Agent score
74%

What's inside objc2

  1. Overview of objc2

    main
    The objc2 crate provides Objective-C interface and runtime bindings for Rust. It is designed to enable Rust developers to interact with Apple's core libraries and frameworks, which are primarily written in Objective-C. For detailed API documentation, refer to the official Rust docs.
  2. Overview of the objc2 ecosystem

    main

    The objc2 project provides a suite of crates for Objective-C interoperability in Rust. The ecosystem is divided into several specialized crates:

    • objc2: The core crate providing top-level Objective-C interop functionality. This is the primary entry point for most users.
    • block2: Provides support for Objective-C blocks.
    • dispatch2: Provides support for Grand Central Dispatch (GCD).
    • objc2-foundation: Provides Foundation framework bindings.
    • objc2-encode: Handles Objective-C encoding.
    • objc2-exception-helper: Assists with Objective-C exception handling.
    • objc2-proc-macros: Provides procedural macros for Objective-C interop.

    For detailed usage, refer to the top-level documentation for objc2 and the documentation on framework crates.