michaelwu / Rustkit
Licence: other
Fast and ergonomic Rust bindings for ObjC APIs
Stars: ✭ 89
Programming Languages
rust
11053 projects
Labels
Projects that are alternatives of or similar to Rustkit
libsmt.rs
Rust Bindings to interact with SMTLIB2 compliant solvers
Stars: ✭ 14 (-84.27%)
Mutual labels: rust-bindings
Gutenberg Parser Rs
An experimental Rust parser for WordPress Gutenberg post format
Stars: ✭ 76 (-14.61%)
Mutual labels: rust-bindings
pledge-rs
A Rust binding to OpenBSD's pledge(2) interface
Stars: ✭ 21 (-76.4%)
Mutual labels: rust-bindings
Rust Onig
Rust bindings for the Oniguruma regex library
Stars: ✭ 81 (-8.99%)
Mutual labels: rust-bindings
Rust Numpy
PyO3-based Rust binding of NumPy C-API
Stars: ✭ 426 (+378.65%)
Mutual labels: rust-bindings
Stripe Rs
Moved to https://github.com/wyyerd/stripe-rs.
Stars: ✭ 16 (-82.02%)
Mutual labels: rust-bindings
minisketch-rs
Rust bindings to @sipa's minisketch library
Stars: ✭ 16 (-82.02%)
Mutual labels: rust-bindings
mozjpeg-rust
Safe Rust wrapper for the MozJPEG library
Stars: ✭ 53 (-40.45%)
Mutual labels: rust-bindings
Napi
High-level Node.js N-API bindings for Rust [WIP] ✨🦀🚀✨
Stars: ✭ 85 (-4.49%)
Mutual labels: rust-bindings
Lodepng Rust
All-in-one PNG image encoder/decoder in pure Rust
Stars: ✭ 78 (-12.36%)
Mutual labels: rust-bindings
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);
}
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].