Fast and ergonomic Rust bindings for ObjC APIs

RustKit is currently under development. Please try it if you want to contribute or provide feedback on the generated bindings.


Clang 8.0 (currently trunk) with a patch is currently required. Build clang and set the LIBCLANG_PATH environmental variable to the directory that libclang.dylib is in, which should be in the lib directory of your clang/llvm build directory.


extern crate rustkit;

use rustkit::NSObject;

fn main() {
    let obj = NSObject::new();

    let desc = NSObject::description();
    let desc = desc.unwrap();
    let desclen = desc.length();
    let ruststr: String =
                         std::char::from_u32(desc.characterAtIndex_(i) as u32).
    println!("NSObject::description(): {}", ruststr);


Fast and ergonomic Rust bindings for ObjC APIs

Rustkit Info

⭐ Stars 105
🔗 Source Code
🕒 Last Update 8 months ago
🕒 Created 4 years ago
🐞 Open Issues 5
➗ Star-Issue Ratio 21
😎 Author michaelwu