From 30b247d41b985ce243be6c195132572ca8968b5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Rouleau?= Date: Sat, 25 Jul 2026 16:01:05 -0400 Subject: [PATCH] Bump objc-rs to 0.3 so Apple's runtime is used off macOS/iOS MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `objc-rs 0.2.8` picks its Objective-C runtime with `any(target_os = "macos", target_os = "ios")`, so tvOS, watchOS and visionOS fall through to the GNUstep backend and fail to link against Apple SDKs with `Undefined symbol: _objc_msg_lookup`. `objc-rs` widened that to `target_vendor = "apple"` in raphamorim/objc-rs#3, released in 0.3.2. There is no 0.2.x carrying the fix, so the pin has to move to 0.3. No source changes were needed — miniquad's usage sits entirely within the API 0.2 and 0.3 share. Verified with `cargo build` on every Apple target: - `aarch64-apple-darwin` - `aarch64-apple-ios` - `aarch64-apple-ios-sim` - `aarch64-apple-tvos` - `aarch64-apple-tvos-sim` Checked the tvOS rlib for the symptom directly: no `_objc_msg_lookup` references remain. A downstream macroquad game also links and runs on the tvOS Simulator against plain upstream miniquad with no `[patch.crates-io]` entry for `objc-rs`, which was not possible before. Closes #652. --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 15ff1977..d5c816e2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -44,7 +44,7 @@ libc = "0.2" ndk-sys = "0.2" [target.'cfg(any(target_os = "macos", target_os = "ios", target_os = "tvos"))'.dependencies] -objc = { package = "objc-rs", version = "0.2" } +objc = { package = "objc-rs", version = "0.3" } [dev-dependencies] glam = { version = "0.24", features = ["scalar-math"] }