#macos #ios #unit

sys coreaudio-sys

Bindings for Apple's CoreAudio frameworks generated via rust-bindgen

23 releases

Uses new Rust 2024

0.2.17 Jun 8, 2025
0.2.16 Sep 12, 2024
0.2.15 Jan 4, 2024
0.2.14 Nov 15, 2023
0.0.1 Feb 28, 2015

#13 in macOS and iOS APIs

Download history 61607/week @ 2025-11-10 71927/week @ 2025-11-17 76812/week @ 2025-11-24 74738/week @ 2025-12-01 78643/week @ 2025-12-08 72763/week @ 2025-12-15 78817/week @ 2025-12-22 80565/week @ 2025-12-29 99608/week @ 2026-01-05 98750/week @ 2026-01-12 98987/week @ 2026-01-19 94876/week @ 2026-01-26 100805/week @ 2026-02-02 97136/week @ 2026-02-09 100853/week @ 2026-02-16 129319/week @ 2026-02-23

441,373 downloads per month
Used in 979 crates (9 directly)

MIT license

11KB
115 lines

coreaudio-sys Actions Status Crates.io Crates.io docs.rs

Raw bindings to Apple's Core Audio API for macos and iOS generated using rust-bindgen. coreaudio-rs is an attempt at offering a higher level API around this crate.

Cross Compiling

Rust Cross has a good explanation of how cross-compiling Rust works in general. While the author of Rust Cross advises against it, it is perfectly possible to cross-compile Rust for MacOS on Linux. OSXCross can be used to create a compiler toolchain that can compile for MacOS on Linux.

Environment Variables

When cross-compiling for MacOS on Linux there are two environment variables that are used to configure how coreaudio-sys finds the required headers and libraries. The following examples assume that you have OSXCross installed at /build/osxcross.

COREAUDIO_SDK_PATH

This tell coreaudio-sys where to find the MacOS SDK:

export COREAUDIO_SDK_PATH=/build/osxcross/target/SDK/MacOSX10.11.sdk

No runtime deps

~0–1.9MB
~37K SLoC