6/20/2023 0 Comments Alttab macos![]() ![]() ![]() These are not documented at all, not guaranteed to be there in future macOS releases, and prevent us from releasing AltTab on the Mac AppStore. There are however, retro-engineered private APIs which you can call. For instance, there is no API to ask the OS “how many Spaces does the user have?” or “Can you focus the window on Space 2?”. This means often we just don’t have an API to do something. OS APIs are quite limited for the kind of low-level, system-wide app AltTab is. The community came up with Cocoapods which is the de-facto dependency manager for Apple ecosystem projects these days, even though Apple is now trying to push their own. They could pay an intern to update the docs over the summer for instance, just to give you context of the lack of care we are talking about here.ĭependencies were historically never handled by Apple. They are in such a good position that people will struggle and just push through to deliver on their ecosystem because it is so valuable, and because they don’t have to care, they don’t. You can truly tell Apple doesn’t care about supporting third-parties. Compared to other ecosystem I’ve worked on in the past like Android, nodejs, Java, rust, this is really a bad spot. Very simple things are not documented at all, and good information is hard to find. Swift + objc + c + bridges + compiler + toolchain + etc)ĭocumentation is abysmal. This means that from a machine running let’s say macOS 10.10, you have access to only a specific range of XCode versions (you can’t run the latest for instance), and these give you access to a specific range of SDKs (i.e. Here the SDK is bundled with XCode, and XCode is bundled with the OS. Regarding SDKs, it’s very different from other (better) ecosystems like Java. Swift itself is the mainstream language with the worst governance I’ve seen in modern times. Note that swift just recently started being stable, but overall any change of version breaks a lot of stuff. All these are bridging with each other with a bunch of macros, SDKs glue, compiler flags, compatibility mode, XCode legacy build system, etc. They keep piling on the tech stacks on top of each other, so you have C APIs, ObjC APIs, Swift APIs, Interface builder, Playgrounds, Swift UI, Mac Catalyst. Mac development ecosystem is pretty terrible in general. It will add the pre-commit hook to ensure that your commits follow the convention and will pass the PR. ![]() If you want to contribute a PR, please run npm install once. Either open alt-tab-macos.xcworkspace with XCode, or use the cli: xcodebuild -workspace alt-tab-macos.xcworkspace -scheme Debug to build the.scripts/codesign/setup_local.sh to generate a local self-signed certificate, to avoid having to re-check the System Preferences > Security & Privacy permissions on every build.This project has minimal dependency on Xcode-only features (e.g. This document gives a technical overview of the project, for newcomers who want to contribute. Suggest an enhancement or discuss an issue on github, or use the feedback form in the app.Come discuss with us on the Discord server. ![]()
0 Comments
Leave a Reply. |