rustkit

Crates.iorustkit
lib.rsrustkit
version0.0.1
created_at2018-08-24 02:05:42.811123+00
updated_at2018-08-24 02:05:42.811123+00
descriptionFast and ergonomic Rust bindings for ObjC APIs
homepage
repositoryhttps://github.com/michaelwu/RustKit
max_upload_size
id80980
size21,536
Michael Wu (michaelwu)

documentation

README

RustKit

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.

Prerequisites

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.

Example

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 =
        (0..desclen).map(|i|
                         std::char::from_u32(desc.characterAtIndex_(i) as u32).
                         unwrap()).collect();
    println!("NSObject::description(): {}", ruststr);
}
Commit count: 0

cargo fmt