Post

Replies

Boosts

Views

Activity

Import Image from SwiftUI even if project already declares an internal Image type
I have this code in my project #if os(macOS) import Cocoa typealias Image = NSImage #elseif os(iOS) import UIKit typealias Image = UIImage #endif Because of this, in a file with import SwiftUI I would have to use SwiftUI.Image to disambiguate. Is it possible to declare that whenever I use Image in that file, it should not use my internal declaration but the SwiftUI type instead?
2
0
1.1k
Nov ’21
Xcode projects do not build anymore after uploading them to Feedback Assistant
For many months now, projects that I download from most of the feedbacks I submit don't build anymore: some settings in the Xcode project get changed for some reason at some stage so that the directory structure is wrong. The top level folder named after the project is highlighted in red and the only compiler error is about the missing entitlements file, even though all the files are in the project folder. I already reported this months ago but this is still happening. What's the problem and why is there no solution to this yet?
0
0
439
Nov ’21
Why does Apple not mark solved bugs as solved?
I keep noticing that some bugs that I reported or features that I suggested have been corrected or added to the latest OS. For one of these I replied asking why I wasn't notified and never got an answer. Isn't Apple interested in closing as many feedbacks as possible? Now I cannot even say that perhaps I formulated them in such a way that they don't understand, because they don't seem to reply altogether.
2
0
529
Nov ’21
Xcode thinks iPad is not connected when deploying
Every now and then (say at least once a week, but possibly many times within a day) when I try to deploy to my iPad Xcode shows a sheet reading "iPad is not connected", even if it was working a minute earlier. I have reported this already several months ago, but apparently there is no fix for this yet. Usually, restarting Mac and/or iPad solves the issue, but it's really annoying when I have to do this repeatedly. Is there an easier workaround?
0
0
318
Nov ’21
Setting UITextView text color after text change causes caret rect to jump up and down
It seems that when typing inside a textview that has insets and padding, the caret keeps jumping up and down on most keystrokes. Is there a solution to this? class ViewController: UIViewController, UITextViewDelegate {     @IBOutlet weak var textView: TextView!     override func viewDidLayoutSubviews() {         let h = textView.bounds.size.height / 2         textView.textContainerInset = UIEdgeInsets(top: h, left: 0, bottom: h, right: 0)         textView.textContainer.lineFragmentPadding = 200     }     func textViewDidChange(_ textView: UITextView) {         textView.textStorage.addAttribute(.foregroundColor, value: UIColor.red, range: NSRange(location: 0, length: 1))     } } class TextView: UITextView {     override func caretRect(for position: UITextPosition) -> CGRect {         let r = super.caretRect(for: position)         print(r)         return r     } } A complete project can be found here: https://www.icloud.com/iclouddrive/0yEBQZPUCZQH1o3HiL8_6q_gQ#problem_copia
0
0
538
Nov ’21
How to download and install old macOS versions
I haven‘t yet found an official Apple website that lists older macOS versions. Fortunately, I have kept the installers on a separate external storage after each major upgrade, but when launching them from a macOS version newer that the installer itself, macOS shows an error that it‘s not possible to install it. What is the official way of installing older macOS versions so that I can test my App Store apps?
4
0
2.6k
Nov ’21
"Frame for "View" will be different at runtime" keeps reappearing with always different frame
For a couple of years now Xcode has been showing many similar warnings when opening a storyboard file. I have opened FB8245368 more than a year ago without response. If there is a way of solving these warnings inside the storyboard without adding artificial constraints that are removed at build time? Open the project at https://www.icloud.com/iclouddrive/0bNxa2_8jNRVFbpKsTyrB5yMg#problem Select that warning, then click Update Frames at the bottom right of the canvas. You can keep pressing the button until the view is entirely collapsed.
0
0
586
Nov ’21
Resolve bookmark created in iOS app in Share Extension
I create a URL bookmark with URL.bookmarkData(options: [], includingResourceValuesForKeys: [.localizedNameKey]) and resolve it with NSURL(resolvingBookmarkData: bookmarkData, options: [], relativeTo: nil, bookmarkDataIsStale: nil) asURL. This works fine within my main app, but when sharing the bookmarkData via an App Group with my Share Extension, it gives the error "The file couldn't be opened because you don't have permission to view it.". Is there any way I can do this?
0
0
404
Nov ’21
How to disable weekly "We are interested in investigating your feedback" reminders
Since a year or so I get frequent email reminders for feedbacks to which Apple answered and to which I still didn't reply. The interval between Apple's answer and the automatic reminder can be as small as 5 days and are repeated weekly until I respond to them. There is apparently no way of disabling them. How can it be that I have to respond within 5 days and Apple can take up to 8 years (the longest I've waited for a response for now)? I've already reported this several times but to no avail. I would also like to be able to send weekly reminders to Apple for not responding to pressing issues, but unfortunately that's not possible and this comes across as being quite arrogant.
2
0
591
Jun ’21
Animating SCNCamera.fStop with property key path doesn't work, only inside implicit SCNTransaction
This code strangely doesn't animate the fStop: cameraNode.camera!.wantsDepthOfField = true cameraNode.camera!.focusDistance = 2 let animation = CABasicAnimation(keyPath: "fStop") animation.toValue = 0.5 animation.duration = 0.3 cameraNode.camera!.addAnimation(animation, forKey: nil) while this one does: SCNTransaction.begin() SCNTransaction.animationDuration = 0.3 cameraNode.camera!.fStop = 0.5 SCNTransaction.commit() Why?
0
0
420
Feb ’21
SceneKit objects become sharp when viewed through non-opaque objects with depth of field enabled
By adding this code to the default SceneKit Xcode project, one can reproduce the issue (the default ship object is blurred when viewed directly by the camera, and sharp when viewed through the semi-transparent square): cameraNode.camera!.wantsDepthOfField = true cameraNode.camera!.focusDistance = 2 cameraNode.camera!.fStop = 0.5 let plane = SCNNode(geometry: SCNPlane(width: 1, height: 1)) plane.position = SCNVector3(x: 0.5, y: 0, z: 13) plane.opacity = 0.5 scene.rootNode.addChildNode(plane) Is this something expected, and is there a workaround for making objects seen through semi-transparent objects appear blurred as well?
0
0
551
Feb ’21
Playing back audio recorded with AVCaptureAudioDataOutput
I'm trying to record video and audio and sending them over the network so that they can be played back in real time on other clients. I've managed to record and play back video successfully, but audio still cannot be played back (see AVAudioPlayer at the bottom of the code below). What am I doing wrong or what is missing? Thank you in advance for any input. let captureSession = AVCaptureSession() private func startVideoAudioFeed() {     let sessionPreset = AVCaptureSession.Preset.low     if captureSession.canSetSessionPreset(sessionPreset) {         captureSession.sessionPreset = sessionPreset     }     switch AVCaptureDevice.authorizationStatus(for: .video) {     case .notDetermined:         AVCaptureDevice.requestAccess(for: .video) { success in             self.startVideoAudioFeed()         }     case .authorized:         captureSession.beginConfiguration()         let captureVideoDevice = AVCaptureDevice.default(.builtInWideAngleCamera, for: .video, position: .front)!         let captureVideoInput = try! AVCaptureDeviceInput(device: captureVideoDevice)         if captureSession.canAddInput(captureVideoInput) {             captureSession.addInput(captureVideoInput)         }         let captureVideoOutput = AVCaptureVideoDataOutput()         captureVideoOutput.setSampleBufferDelegate(self, queue: DispatchQueue.main)         if captureSession.canAddOutput(captureVideoOutput) {             captureSession.addOutput(captureVideoOutput)         }         captureSession.commitConfiguration()         captureSession.startRunning()     default:         break     }     switch AVCaptureDevice.authorizationStatus(for: .audio) {     case .notDetermined:         AVCaptureDevice.requestAccess(for: .audio) { success in             self.startVideoAudioFeed()         }     case .authorized:         captureSession.beginConfiguration()         let captureAudioDevice = AVCaptureDevice.default(for: .audio)!         let captureAudioInput = try! AVCaptureDeviceInput(device: captureAudioDevice)         if captureSession.canAddInput(captureAudioInput) {             captureSession.addInput(captureAudioInput)         }         let captureAudioOutput = AVCaptureAudioDataOutput()         captureAudioOutput.audioSettings = [AVFormatIDKey: kAudioFormatLinearPCM, AVNumberOfChannelsKey: NSNumber(value: 1), AVSampleRateKey: NSNumber(value: 44100)]         captureAudioOutput.setSampleBufferDelegate(self, queue: DispatchQueue.main)         if captureSession.canAddOutput(captureAudioOutput) {             captureSession.addOutput(captureAudioOutput)         }         captureSession.commitConfiguration()     default:         break     } } func captureOutput(_ output: AVCaptureOutput, didOutput sampleBuffer: CMSampleBuffer, from connection: AVCaptureConnection) {     if let imageBuffer = sampleBuffer.imageBuffer {         let ciImage = CIImage(cvPixelBuffer: imageBuffer)         let cgImage = CIContext().createCGImage(ciImage, from: ciImage.extent)!         let data = CFDataCreateMutable(nil, 0)!         let imageDestination = CGImageDestinationCreateWithData(data, kUTTypeJPEG, 1, nil)!         CGImageDestinationAddImage(imageDestination, cgImage, [kCGImageDestinationLossyCompressionQuality: NSNumber(value: 0)] as CFDictionary)         CGImageDestinationFinalize(imageDestination)         play(data: data as Data)     } else if let dataBuffer = sampleBuffer.dataBuffer {         let data = try! dataBuffer.dataBytes()         play(data: data)     } } private func play(data: Data) {     if let image = CGImage(jpegDataProviderSource: CGDataProvider(data: data as CFData)!, decode: nil, shouldInterpolate: false, intent: .defaultIntent) { 				// image is a valid image     } else if let audioPlayer = try? AVAudioPlayer(data: data) {         audioPlayer.play() 				// audioPlayer is always nil with error: Error Domain=NSOSStatusErrorDomain Code=1954115647 "(null)"     } }
0
0
858
Feb ’21