Post

Replies

Boosts

Views

Activity

Reply to Cannot submit apps with Xcode 26.2 RC
Even with the new Xcode (not release candidate), I get error when uploading from Xcode: Validation Failed: This bundle is invalid. Apple is not currently accepting applications built with this version of Xcode. This is with Xcode 26.2 which has Released December 12, 2025 and Build 17C52. Also, the file name is Xcode_26.2_Apple_silicon.xip.
1d
Reply to UISlider valueChanged has uninitialized UIEvent
Same issue in my app. My app had been working for 9 years but started showing this UISlider bug in iOS 26. Below used to work previously: slider.addTarget(self, action: #selector(sliderValueChanged(sender:event:)), for: .valueChanged) @objc func sliderValueChanged(sender: UISlider, event: UIEvent) { print("Slider: \(slider.value), \(event)") label.text = "Value: \(sender.value)" switch event.allTouches?.first?.phase { case .began: print("began") case .moved: print("moved") case .ended: print("ended") case .cancelled: print("cancelled") default: break } } But, in iOS 26, the event being passed is uninitialized and so, event.allTouches is always nil. So, I am unable to detect what phase of the event it's in. Note that changing from UIEvent to UIControl.Event is not a solution as it's also just UIControlEvents(rawValue: 0), so unable to find what phase it's in. I have reported this as a bug: https://feedbackassistant.apple.com/feedback/20727378 EDIT: For now, the below workaround works: slider.addTarget(self, action: #selector(sliderEnded(sender:)), for: .touchCancel) slider.addTarget(self, action: #selector(sliderEnded(sender:)), for: .touchUpInside) slider.addTarget(self, action: #selector(sliderEnded(sender:)), for: .touchUpOutside) slider.addTarget(self, action: #selector(sliderChanged(sender:event:)), for: .allTouchEvents) @objc func sliderCancelled(sender: UISlider) { sliderPhaseChanged(sender: sender, phase: .cancelled) } @objc func sliderEnded(sender: UISlider) { sliderPhaseChanged(sender: sender, phase: .ended) } @objc func sliderChanged(sender: UISlider, event: UIEvent) { let phase = event.allTouches?.first?.phase switch phase { case .began: sliderPhaseChanged(sender: sender, phase: phase) case .moved: sliderPhaseChanged(sender: sender, phase: phase) default: break } } func sliderPhaseChanged(sender: UISlider, phase: UITouch.Phase?) { switch phase { case .began: print("began") case .moved: print("moved") case .ended: print("ended") case .cancelled: print("cancelled") default: break } }
Topic: UI Frameworks SubTopic: UIKit Tags:
Oct ’25
Reply to MacOS Catalyst: how to allow double click on UIView to zoom window?
I was able to figure this out using a workaround. UIKit/Catalyst itself doesn't provide any way to do this. But I was able to use the second method outline in this post on the link in my answer on Stackoverflow: How to Access the AppKit API from Mac Catalyst Apps https://stackoverflow.com/questions/67067248/macos-catalyst-how-to-allow-double-click-on-uiview-to-zoom-window/67084666#67084666 I used the second method and not the first one as the first one seems to be private API (I could be wrong) and will get rejected in App Store. The second method of using a plugin bundle and calling methods on that works well for me. This way I was able to not just perform the zoom, I was also able to perform other MacOS Appkit functionality like listening for keyboard, mouse scroll, hover detection etc. After creating the plugin bundle, here's my code inside the plugin: Plugin.swift: } MacPlugin.swift: } Then I call this from my iOS app code. This adds a transparent view at the top where double clicking calls the plugin code for toggling zoom. NOTE that you must call this from viewDidAppear or somewhere when the windows have been initialized and presented. Otherwise it won't work. #endif Calling it from viewDidAppear: }
Topic: Programming Languages SubTopic: Swift Tags:
Apr ’21