Post

Replies

Boosts

Views

Activity

Reply to @Observable and didSet?
So didSet is allowed but you're not able to do much with it as you cannot make any reference to self or any of it's members: Cannot find 'self' in scope; did you mean to use it in a type or extension context? Instance member 'scalingMode' cannot be used on type 'MySettings'; did you mean to use a value of this type instead?
Jun ’23
Reply to SwiftUI window aspect ratio
Another solution that seems to work is to use NSViewControllerRepresentable to create a NSViewController based view. When viewDidAppear is called, you can set the NSWindowDelegate to self to receive window events and set the aspect ratio.
Dec ’22
Reply to ShareLink + FileRepresentation: Can't Save to Files
I would tend to think that the issue is with the try! statement. write(to:) can throw, which is probably the case here. Force unwrapping probably causes the crash. Here's an example of an implementation that works (at least on my end): static var transferRepresentation: some TransferRepresentation {         FileRepresentation(contentType: .myArchive) { archive in             let url = URL(fileURLWithPath: NSTemporaryDirectory(), isDirectory: true).appendingPathComponent(archive.fileName)             let res = try JSONEncoder().encode(archive)             try res.write(to: url, options: .atomicWrite)             return SentTransferredFile(url)         } importing: { received in             let data = try Data(contentsOf: received.file)             return try JSONDecoder().decode(MyArchive.self, from: data)         }     }
Oct ’22
Reply to Set filename to use for "Save to Files" with ShareLink?
Ok so I made some progress. Turns out I was using com.public.data instead of public.data in Exported Type Identifier > Conform To. So now saving to files will use the proper file extension (.cararchive) I've set in Exported Type Identifier > Extensions. However, the filename defaults to what I've set in Exported Type Identifier > Description. I'd like to set a default name myself as the one used by iOS makes no sense.
Oct ’22
Reply to Set filename to use for "Save to Files" with ShareLink?
Additionally, if I use my custom type instead of .json when exporting, the "Save to Files" doesn't even show up, even if I did set the export type in the info.plist file. extension UTType {     static var car: UTType = UTType(exportedAs: "com.acme.cararchive") } extension Car: Transferable {     static var transferRepresentation: some TransferRepresentation {         DataRepresentation(contentType: .car) { archive in             try JSONEncoder().encode(archive)         } importing: { data in             try JSONDecoder().decode(Car.self, from: data)         }     } } fefe
Oct ’22