Post

Replies

Boosts

Views

Activity

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
3.5k
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
352
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
482
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
588
Nov ’21
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.3k
Nov ’21
Swipe gesture to navigate back and forth between files doesn't always work
Often performing the swipe right gesture in order to show the previously opened file doesn't work immediately. When this happens, which it does countless times a day, I have to repeat it exactly 3 times before it works. I submitted a bug report in May 2018, 3.5 years ago, and it is still marked as "Similar reports: None" and "Resolution: Open". I asked for updates a couple of times and never received a response. This makes me angry. My brain has been rewired so that when (if) this issue is finally solved I will probably continue swiping 3 times for another 2 years. At the same time, it makes me extremely sad. How can the engineers at Apple possibly leave me in the dark about if they could reproduce the issue, are working on it, or just find it unnecessary to fix it?
0
0
992
Dec ’21
I cannot delete old macOS installers, not even from the Terminal
I recently downloaded "Install macOS Catalina", "Install macOS High Sierra" and "Install macOS Mojave" and then wanted to delete them again, so I moved them to the trash, but trying to empty the trash gives the error that they are apparently being used. Even after a system restart it still happens. Trying to delete them from the Terminal via sudo rm -rf gives the error "the directory is not empty". How can I get rid of these files?
2
0
1.7k
Dec ’21
Xcode shows that variable is nil but it isn't
When evaluating some variables holding an optional value in the debugger with e variable, Xcode prints something like (Bool?) $R3 = nil. This gives the impression that the value is nil (what else should it mean?) and hovering that variable in the code editor also shows a popover with the content nil, but evaluating e variable?.description shows that it holds some value, for example (String?) $R4 = "false" (as a validation, the command e variable == false prints (Bool) $R6 = true. I submitted a bug report on November 2019, more than 2 years ago, and it never got any response. Is it possible that this is the expected behavior? Why can nobody fix it? I'm constantly wasting time because of this bug that causes me to make wrong assumptions during debugging.
0
1
834
Jan ’22
Store Swift closures and cast them back to their original type
I'm trying to create a class that can save different closures (or methods) with an argument of a specific subtype of Decodable that should be called later. This way I can predefine what actions, or methods, can be called on that class in response to some input. For example, the line addCallback(setOption(_:), SetOptionRequest.self) should result in the subsequent call to try! performCallback("setOption", JSONEncoder().encode(SetOptionRequest()) to call setOption(data) where the argument data has type SetOptionRequest. Here is the code I have so far (I took the bit about DecodableWrapper from here). The problem is that at runtime the cast callback.callback as! (ActionRequest) throws -> Void fails, since the type of the closure is not (ActionRequest) throws -> Void but (SetOptionRequest) throws -> Void. But I have no idea if and how I can cast the closure back to its original type. I considered using Selectors but I would like to keep the compile-time check that I'm binding methods with their correct argument type. struct DecodableWrapper: Decodable { static var baseType: ActionRequest.Type! var base: ActionRequest init(from decoder: Decoder) throws { self.base = try DecodableWrapper.baseType.init(from: decoder) } } open class Server { private var actionCallbacks = [String: (callback: Any, dataType: ActionRequest.Type)]() open func setup() { addCallback(setOption, action: SetOptionRequestResponse.self) } public func addCallback<T: ActionRequest>(_ callback: @escaping (_ data: T) throws -> Void, action: T.Type) { actionCallbacks[T.action] = (callback, T.self) } private func performCallback(action: String, data: Data) throws { let callback = actionCallbacks[action]! DecodableWrapper.baseType = callback.dataType let data = try! JSONDecoder().decode(DecodableWrapper.self, from: data).base try (callback.callback as! (ActionRequest) throws -> Void)(data) } private func setOption(_ data: SetOptionRequest) { } } protocol ActionRequest { static var action: String } struct Request: SetOptionRequest { }
2
0
629
Jan ’22