← Monday, September 28, 2026Languages & toolsDeep dive

Bevy iOS crates drop their separately shipped Swift packages

rustunit.com 5 min read Editor score 6/10

The crates replaced several hand-built Swift or Objective-C bridges and related package setups with installation through Cargo. The example shows how platform boundaries can add maintenance and distribution costs to cross-language libraries.

What
Bevy iOS crates replaced separately shipped Swift packages with Rust bindings using objc2 and generated framework bindings.
How
objc2 binds Apple’s Objective-C frameworks dynamically; Rust can call UIKit APIs and define Objective-C delegate classes for callbacks.
Why it matters
This removes a separate SPM install and version match, plus per-release .xcframework packaging, from these crates.
calls through API calls delegate callbacks Rust objc2 Apple frameworks
Rust uses objc2 bindings to call Apple frameworks and receive delegate callbacks. Sketched from the article's own text.

Discussion

Discussion is not switched on yet. Use Note above to keep your own thoughts on this story.

Headline, summary, brief and diagram are written by a model from the source's own text; the link, byline and numbers come from the source. Read the original before relying on a claim.

Your note

Private to you. Stored in this browser, and synced to your account when you are signed in.