Post

Replies

Boosts

Views

Activity

Reply to App was crashing in xcode 16 due to Quicklook UI framework
Continuing my previous post here, we submitted a feedback ticket for this: FB15732009. The crash that was posted in the original post that started this thread is slightly different than the crash I am seeing. This is the crash from the original post: Library not loaded: /System/Library/Frameworks/QuickLookUI.framework/Versions/A/QuickLookUI The crash I am seeing looks like this: Library not loaded: /System/iOSSupport/System/Library/Frameworks/_QuickLook_SwiftUI.framework/Versions/A/_QuickLook_SwiftUI The app that is crashing is using a dependency that we own and that dependency is using the quick look preview feature in SwiftUI. Which is probably why the quick look SwiftUI framework is being referenced in the crash log.
1d
Reply to App was crashing in xcode 16 due to Quicklook UI framework
I archived our app using Xcode 16.1 and macOS 15.1, and it still crashes when it is run on macOS Ventura. Exception Type: EXC_CRASH (SIGABRT) Exception Codes: 0x0000000000000000, 0x0000000000000000 Termination Reason: Namespace DYLD, Code 1 Library missing Library not loaded: /System/iOSSupport/System/Library/Frameworks/_QuickLook_SwiftUI.framework/Versions/A/_QuickLook_SwiftUI
6d
Reply to Availablility check is incorrect on visionOS
That is good to know. I actually wanted the body of the if to be executed for visionOS but didn't understand why it was working. Thank you. Can you explain why this situation crashes? Also, I had this similar code that was distriubted via a xcframework and when that view is used in an app that is using the xcframework while running against visionOS there would be a runtime crash (EXC_BAD_ACCESS). The crash could only be reproduced when using that view from the xcframework and not the local source code. The problem was fixed by adding visionOS 1.0 to that availability check. But this shouldn't have been a crash in the first place.
Oct ’24
Reply to Vision Pro preview window looks different than on simulator
I'll give the ornament a shot. I didn't even consider that in the beginning because it seems like they are more meant for interactions with the view while this bar is simply meant to display copyright information about the data that is being presented. While the bar can be interacted with, that isn't its main goal. But hey I can give it a shot and let you know if I have more questions. Thank you for your help.
Jul ’24
Reply to Vision Pro preview window looks different than on simulator
It does work and doesn't look too bad. But if we wanted to add some custom padding to make it look exactly how we wish it wouldn't be possible because we don't know how a user would use our views and that could change how this bottom bar looks. We work on a native Swift SDK to add some context. So the user could use our view in a 2D window, 3D window, in a 2D window but as a subview, etc. And we don't have a way of knowing how to adjust our padding because there is no concept of safe area. I'm not sure if this is deliberate or not but if you have any context on that it would be great. Thank you again for the quick responses :) Here is what the bottom bar looks like in different contexts: 2D Window: 3D Window: 2D window but with another view
Jul ’24
Reply to Tapping once with both hands only works sometimes in visionOS
Hello Sydney, Thank you for the response. I forgot to add that there is a metal view involved in this app and that could be another reason why this problem occurs. I have some simple code here that shows the problem. Can you give this a test? You will notice that the gesture only gets recognized about half the time. struct ContentView: View { var body: some View { MetalView() } } struct MetalView: UIViewRepresentable { var device: MTLDevice? init() { self.device = MTLCreateSystemDefaultDevice() } func makeUIView(context: Context) -> MTKView { let mtkView = MTKView() mtkView.device = device mtkView.clearColor = MTLClearColor(red: 0.0, green: 0.0, blue: 0.0, alpha: 1.0) mtkView.delegate = context.coordinator // Add tap gesture recognizer let tapGesture = UITapGestureRecognizer(target: context.coordinator, action: #selector(context.coordinator.handleTap(_:))) tapGesture.numberOfTapsRequired = 1 // Should require both hands to tap. tapGesture.numberOfTouchesRequired = 2 mtkView.addGestureRecognizer(tapGesture) return mtkView } func updateUIView(_ uiView: MTKView, context: Context) { } func makeCoordinator() -> Coordinator { Coordinator(self) } class Coordinator: NSObject, MTKViewDelegate { var parent: MetalView init(_ parent: MetalView) { self.parent = parent } func mtkView(_ view: MTKView, drawableSizeWillChange size: CGSize) { } func draw(in view: MTKView) { guard let drawable = view.currentDrawable else { return } guard let descriptor = view.currentRenderPassDescriptor else { return } let commandQueue = parent.device?.makeCommandQueue() let commandBuffer = commandQueue?.makeCommandBuffer() let renderEncoder = commandBuffer?.makeRenderCommandEncoder(descriptor: descriptor) renderEncoder?.endEncoding() commandBuffer?.present(drawable) commandBuffer?.commit() } @objc func handleTap(_ sender: UITapGestureRecognizer) { print("MTKView tapped") } } } I'm happy to submit a feedback report but I'm curious what your feedback is when you see the issue. Thank you!
Jul ’24