Post

Replies

Boosts

Views

Activity

Reply to Any advices for a new kid coming to Apple development?
I haven’t seen what you’re looking for; a developer-focused how-all-the-pieces-fit-together document. I’d like to find a copy of that same (and non-existent?) doc, too. Learning the various app flow control schemes and other such mundane details would be easier. Linux is itself is a large and complex undertaking, so it’s unclear to me what parts you might or might not be familiar with. Linux GUI work (X, Wayland, Mir, Mutter, etc) is different from macOS GUI work, for instance. Much as with Linux and Windows, Apple too has had different UI frameworks over the years, with Cocoa/UIKit/AppKit, Catalyst, and SwiftUI being probably the most common choices in recent years. the POSIX and C APIs are around, too. (Not that I’d particularly recommend the traditional POSIX and C networking APIs on any platform.) Apple prefers developers use Swift and Swift frameworks for new work, and SwiftUI and Catalyst for nee GUI apps, and that and the related frameworks are all very different from the POSIX and C APIs. There are Apple and third-party intro docs and books and tutorials and examples available for Swift. (And older docs and books and tutorials and examples for ObjC.) I haven’t seen much Rust, Zig, or Crystal work, though those and other fine choices are undoubtedly around and in use. Apple app development involves the Xcode IDE, or Swift and the Playgrounds IDE, or the command line. Or one of various available third-party IDEs. Outside of picking an initial app target for learning more about that, I don’t have any good suggestions. Swift and SwiftUI and GUI apps, or command-line apps and that using C or Rust or Swift or whatever, lots of choices to start with and learn about… There is the third-party OS X Internals book—three volumes—that is AFAIK the only resource describing how the various pieces of macOS/iOS/iPadOS all fit together, though that is obviously more focused toward the internals.
Dec ’22
Reply to df command missing
How are you testing for df, when troubleshooting? Logged in via Terminal.app, or via a Java app? Checked for any surprises in PATH? Used whereis or such to go looking for the df executable? From Monterey 12.6.2: $ whereis df df: /bin/df /usr/share/man/man1/df.1` Is full disk access enabled for the Java app, and for Terminal.app?
Dec ’22
Reply to Programming language to develop macOS launch daemon
Swift, Objective C, C, etc., it depends rather more on what the daemon is going to be doing. Docs: https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/CreatingLaunchdJobs.html https://developer.apple.com/library/archive/technotes/tn2083/_index.html#//apple_ref/doc/uid/DTS10003794 pmset is the usual command for accessing this info, I don't know off-hand if there's an official callable interface. Here's a semi-recent version of the pmset source code that's part of the Apple open source: https://opensource.apple.com/source/PowerManagement/PowerManagement-1132.81.1/ The Apple code is written in Objective C, and hasn't changed in a while per the comments.
Oct ’22
Reply to Practical folder sizes in Ventura
See if your storage is simply saturated. RAID-5 doesn't scale at all well, both around ever-larger disk sizes and failures, and around apps with higher write loads. Current RAID-5 trends are toward inevitable secondary and catastrophic failure during RAID-5 recovery from an initial error too, as the overhead and risks of failures arising during recovery from the initial error is higher than many might even realize. Try some tests with other storage with equivalent file counts. I've been migrating all RAID-5 to RAID-6, or otherwise migrating from RAID-5 to more and bigger HDDs and RAID-10, or RAID-6 SSD. Some reading from ServerFault: What are the different widely used RAID levels and when should I consider them? PS: RAID is not a backup strategy.
Oct ’22
Reply to Enabling SIP while disabling specific parts, is it safe?
Nobody here can answer that, short of reverse-engineering the app or reviewing the app source code if available, and not even really then. Whether it’s “safe” depends entirely on the app and the app developer. Both the safety of the app now, and across future app updates. This app is clearly hooking in oddly and deeply, or is otherwise doing something unusual. Disabling SIP is not something I’d do for anything short of a critical app from a well-regarded and trusted developer. There’ve been too many problems due to apps that have “burrowed” into macOS over the years, too. Malware, and system add-ons. That’s all part of why SIP exists.
Oct ’22