diff --git a/CHANGELOG.md b/CHANGELOG.md index c109c9c0..c875fe41 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,6 @@ # Unreleased +- On iOS, fixed support for the "Debug View Heirarchy" feature in Xcode. - On all platforms, `available_monitors` and `primary_monitor` are now on `EventLoopWindowTarget` rather than `EventLoop` to list monitors event in the event loop. - On Unix, X11 and Wayland are now optional features (enabled by default) - On X11, fix deadlock when calling `set_fullscreen_inner`. diff --git a/src/platform_impl/ios/event_loop.rs b/src/platform_impl/ios/event_loop.rs index 2e7c64d2..9536e942 100644 --- a/src/platform_impl/ios/event_loop.rs +++ b/src/platform_impl/ios/event_loop.rs @@ -24,7 +24,8 @@ use crate::platform_impl::platform::{ CFRunLoopActivity, CFRunLoopAddObserver, CFRunLoopAddSource, CFRunLoopGetMain, CFRunLoopObserverCreate, CFRunLoopObserverRef, CFRunLoopSourceContext, CFRunLoopSourceCreate, CFRunLoopSourceInvalidate, CFRunLoopSourceRef, - CFRunLoopSourceSignal, CFRunLoopWakeUp, NSString, UIApplicationMain, UIUserInterfaceIdiom, + CFRunLoopSourceSignal, CFRunLoopWakeUp, NSStringRust, UIApplicationMain, + UIUserInterfaceIdiom, }, monitor, view, MonitorHandle, }; @@ -117,7 +118,7 @@ impl EventLoop { 0, ptr::null(), nil, - NSString::alloc(nil).init_str("AppDelegate"), + NSStringRust::alloc(nil).init_str("AppDelegate"), ); unreachable!() } diff --git a/src/platform_impl/ios/ffi.rs b/src/platform_impl/ios/ffi.rs index 1c464b06..071b5867 100644 --- a/src/platform_impl/ios/ffi.rs +++ b/src/platform_impl/ios/ffi.rs @@ -359,7 +359,10 @@ pub struct CFRunLoopSourceContext { pub perform: Option, } -pub trait NSString: Sized { +// This is named NSStringRust rather than NSString because the "Debug View Heirarchy" feature of +// Xcode requires a non-ambiguous reference to NSString for unclear reasons. This makes Xcode happy +// so please test if you change the name back to NSString. +pub trait NSStringRust: Sized { unsafe fn alloc(_: Self) -> id { msg_send![class!(NSString), alloc] } @@ -370,7 +373,7 @@ pub trait NSString: Sized { unsafe fn UTF8String(self) -> *const c_char; } -impl NSString for id { +impl NSStringRust for id { unsafe fn initWithUTF8String_(self, c_string: *const c_char) -> id { msg_send![self, initWithUTF8String: c_string as id] }