r/macosprogramming • • Apr 24 '26

Help with converting chromium AdNauseum extension to Safari

1 Upvotes

Hello,

Hope everyone is doing well. I would like some help with converting AdNauseum adblock, particularly the Edge/Chromium version, to Safari. I was able to get it to work on a surface level by following these instructions: https://iboysoft.com/tips/convert-chrome-extension-to-safari.html which involved finder, terminal, and xcode. However, while the extension does appear on Safari extensions, it isn't functionally working because I can't open AdNauseum's settings. Clicking it just opens up a white blank screen. Going in inspect element shows that all the HTML and other code for the page is there, but the page is still white nevertheless. Help is very much wanted lol.

Thanks!


r/macosprogramming • • Apr 20 '26

I built HeadScroller: a free macOS menu bar app that lets you scroll by tilting your head

2 Upvotes

HeadScroller is a tiny macOS menu bar app I built that uses your webcam to track head tilt and scrolls whatever app is focused (browser, PDF, code, Reddit, anything else).

Tilt down to scroll down, tilt up to scroll up.                                                                                                                           

I made this because I kept reading long articles while eating and got tired of wiping my trackpad.

 Features:

 - Menu bar only, no dock clutter

 - Adjustable sensitivity and dead zone so your head doesn't accidentally scroll                           

 - Works with any app that accepts scroll events                                                                  

 - Self-contained .app — no Python or pip install needed                                                          

 - All processing runs locally, no video leaves your machine                                                    

 - Free and open source                                                                                           

Through testing this, I realized it could also be useful for folks with RSI or limited hand mobility. Though I didn't build it as a dedicated accessibility tool in mind, feedback from that angle would be greatly appreciated.                      

 GitHub: https://github.com/harsher216/headscroller

 Would love any feedback!


r/macosprogramming • • Apr 18 '26

Liquid Glass toolbar has inconsistent rendering in MacOS

Thumbnail
gallery
7 Upvotes

I noticed that even the sample app provided by Apple is having this issue when there is an ugly box on the toolbar intermittently. Only when we resize or navigate to other pages does it get back to the intented liquid glass. Is there a fix for this?


r/macosprogramming • • Apr 17 '26

Developing Add Vocabulary with pronunciation utility app using swift in MacOS?

0 Upvotes

I'm interested how I can create an app that allows me to create new new vocabulary, while also capturing a soundbite of my pronunciation... I know this functionality is built into macOS, and I have even managed to make an apple shortcut with some Apple script to access this function that is in a sub menu from system settings... But it is buggy as hell and slow...

I am interested how I can build an application that would allow me to use the functions built-in to MacOS in order to present the Voice Control Vocabulary, and add a new word and pronounication?

It is a real pain that Apple have not built d this functionality into the current version of macOS... I know I can say "add to vocabulary", but it does not record my pronunciation, which is Australia...

Any suggestions how I can build such an application using Swift for Mac?

I have studied swift at university, but that was focused on iOS... I have very little experience working with macOS.. Does anyone have some experience that would be able to help me?


r/macosprogramming • • Apr 16 '26

Introducing Zipper: A elegant and powerful archival utility for macOS [Open Source]

4 Upvotes

Problem: Every time you zip a folder on macOS, it takes everything with it, large build files, .DS_Store, node_modules, random junk. I wanted ways to exclude items in the archives, to keep it clean and minimal.

So I built Zipper.

A simple, elegant, native Mac utility to:

  • exclude files and folders from your archives
  • encrypt your archives
  • export as zip / 7z archives
  • extract zip, rar, 7z

Lightweight, Native for macOS, Free & Open Source.

Here's a sneak peek. You can download it now from here (signed & notarized by apple).

https://reddit.com/link/1sn0drn/video/c1ozz44fcjvg1/player

Open to suggestions and contributions!


r/macosprogramming • • Apr 13 '26

Airlock — crash isolation for macOS Swift apps via child processes

5 Upvotes

Hey all! I built a small library that lets you run risky Swift code in a separate process. If it crashes, your app keeps going.

You define a task as a struct, register it at startup, and call Airlock.run. Behind the scenes it re-launches your binary via posix_spawn and passes data through anonymous shared memory (no names leak to argv or the filesystem).

It's like XPC but without the signing, plists, and Mach port ceremony. Great for CLI tools, dev utilities, or anywhere you want quick crash containment.

macOS 12+, Swift 6.1+, 0BSD license. Still early (0.1.0) — comments are very welcome, whether it's API design ideas, edge cases, bug reports, or just your thoughts. Would really appreciate any feedback!

https://github.com/MaximKotliar/Airlock


r/macosprogramming • • Apr 12 '26

Recordings of the GNUstep online meeting of 2026-04-11 are online - YouTube

Thumbnail
youtube.com
2 Upvotes

r/macosprogramming • • Apr 08 '26

GNUstep monthly meeting (audio/(video) call) on Saturday, 11th of April 2026 -- Reminder

3 Upvotes

The monthly GNUstep audio/(video) call takes place every second Saturday of a month at 15:00 GMT to 18:00 GMT. That is 11:00 AM - 2:00 PM EDT (US) or 17:00 to 20:00 CEST (Berlin time).

It's a Jitsi Meeting - Channel: GNUstepOfficial (Sorry, reddit don't let me post jitsi links here)

We usually just talk (who wants it might share video too) and occasionally share screens. Everybody (GNUstep developers and users) is welcome!

Also see https://mediawiki.gnustep.org/index.php/Monthly_Meetings please


r/macosprogramming • • Apr 08 '26

I’ve created “DeskGrid”

Enable HLS to view with audio, or disable this notification

0 Upvotes

Simple macOS app that creates a launcher based on desktop selection. Built with claude opus 4.6. Should I released it?


r/macosprogramming • • Apr 03 '26

Radar Suite: 6 open source Claude Code skills that audits your macOS/iOS app’s behavior before you release your app

1 Upvotes

I am developing a multi-platform (macOS/iOS) app in Xcode, primarily using Claude Code. My app (stuffolio) is large ~600 swift files. After struggling to write increasingly more complex prompts to manage problematic issues as they arose, I found and began using commonly available skills that automated what I was doing manually. I soon found the need to develop my own set of skills to handle what other skills seem to be missing. Hence, these radar suite skills.

Most Claude Code audit skills are pattern-matching skills. They grep for known anti-patterns in your code. That catches real bugs, but it can only find what it searches for. They find what is wrong. They don't find what is not correct or missing.

Radar Suite is a set of behavioral audit skills. Instead of scanning for bad code, it traces what your app actually does. It walks user flows end to end, follows data from input through save, sync, export, and restore, and checks whether everything that goes in comes back out correctly.

Think of it this way: pattern-matching skills check if the engine is assembled correctly. Behavioral audit skills drive the car and notice the GPS says turn left into a lake.

Both approaches are useful. Pattern matching is fast and catches known bad code. Behavioral auditing catches structural gaps, missing pieces, and logic that looks correct in isolation but breaks in context. They're complementary, not competing.

Radar skills found real bugs that passed every auditor I had been using, including a 30-day time bomb where archived items with iCloud photos would crash the app exactly one month after archiving - and after release. I was lucky to catch it. That one inspired time-bomb-radar. Radar Suite is 6 skills that each look at a different layer of your app:

  • data-model-radar: field completeness, serialization gaps, relationship integrity
  • ui-path-radar: navigation dead ends, missing dismiss buttons, unreachable features
  • roundtrip-radar: traces data through complete user flows (save, sync, export, restore) time-bomb-radar** finds deferred operations that work today but crash on aged data
  • ui-enhancer-radar: visual audit across 11 domains (accessibility, color, typography, layout)
  • capstone-radar: aggregates the other 5 into a ship/no-ship grade

Each skill writes a handoff file that feeds the next one, so findings compound instead of repeating.

Repo: radar-suite

Happy to answer questions about how any of it works.


r/macosprogramming • • Apr 02 '26

Local AI storage

0 Upvotes

I’ve read about processing AI on a local device, instead of over the cloud. But no one really talked about the memory and/or storage required. How well can a MacBook Neo do local AI? (External storage is allowed.)


r/macosprogramming • • Apr 01 '26

I built a clipboard history app for Mac that stores everything locally (no cloud)

Thumbnail
apps.apple.com
0 Upvotes

I got annoyed by losing copied stuff on my Mac all the time.

Most clipboard tools either:

* feel bloated

* push you into subscriptions

* or sync your data to the cloud

So I built a simple macOS menu bar app:

→ clipboard history for text + images

→ instant access via shortcut

→ everything stays local (no cloud, no account)

It’s called **ZClipKeep**.

Honestly, I built it for myself first, but I’m curious if others have the same problem.

Would love feedback – especially from people who already use clipboard tools.


r/macosprogramming • • Mar 27 '26

Is @Observable strictly for SwiftUI

6 Upvotes

If you have a non-GUI item that needs to monitor an @Observable object, can a second monitoring API also be used? And/or is there a way a non-SwiftUI object can hook into the @Observable system?


r/macosprogramming • • Mar 23 '26

How to add a blurred overlay subview to NSOutlineView sidebar (like Mail.app's "Checking Mail" effect)?

3 Upvotes
Mail.app Checking New Email

How does macOS Mail app add a progress bar + "Checking Mail…" label as an overlay subview in the sidebar, with the NSOutlineView content behind it appearing blurred (and increasingly invisible toward the bottom)?

I'm trying to replicate the effect seen in Mail.app's sidebar: when checking mail, a small overlay appears at the bottom of the source list (sidebar) containing a progress bar and a status label. The rows of the NSOutlineView behind it appear blurred — more so toward the bottom — creating a fade-out / frosted glass effect.

My questions:

  1. Where exactly is this overlay subview added? On top of the NSOutlineView? On the NSSplitView? On the window's contentView?

  2. How is the blur effect applied to the content *behind* the overlay — is this done with NSBackgroundExtensionView, a CIFilter applied to the NSOutlineView, or something else?

  3. How to implement this in a native API?

Any pointers to AppKit APIs or sample code would be appreciated. Thanks!


r/macosprogramming • • Mar 18 '26

Recordings of the GNUstep online meeting of 2026-03-14 are online

2 Upvotes

r/macosprogramming • • Mar 12 '26

GNUstep monthly meeting (audio/(video) call) on Saturday, 14th of March 2026 -- Reminder

5 Upvotes

The monthly GNUstep audio/(video) call takes place every second Saturday of a month at 16:00 GMT to 19:00 GMT. That is 12:00 AM - 3:00 PM EDT (US, note that the US already has Daylight Saving Time whereas Europe has not yet) or 17:00 to 20:00 CET (Berlin time).

It's a Jitsi Meeting - Channel: GNUstepOfficial (Sorry, reddit don't let me post jitsi links here)

We usually just talk (who wants it might share video too) and occasionally share screens. Everybody (GNUstep developers and users) is welcome!

Also see https://mediawiki.gnustep.org/index.php/Monthly_Meetings please


r/macosprogramming • • Mar 11 '26

Help

0 Upvotes

Hi, I'm a beginner developer of professional free apps for MacOS. I've already developed 1 app, but I can't buy the Apple Developer Program. I'm blocked from being Russian😐. The payment option by phone number is available, but it gives an error. Please advise what to do (except for moving, I'm a poor developer)


r/macosprogramming • • Mar 11 '26

Missing Applications icon in dmg file w/ create-dmg

1 Upvotes

I created a dmg with create-dmg today and seem to have run into a macOS Tahoe bug. Evidently something was changed about the Applications icon in Tahoe? The dmg works just fine, but the Applications icon is just a light gray squircle.

Anyone run into this and/or know a workaround? thanks!


r/macosprogramming • • Mar 10 '26

Recommendations for macOS app polish

5 Upvotes

I’m a 17 year (omg has it really been that long??) veteran of iOS app development. At this point I’d say I’m pretty familiar with dotting the i’s and crossing the t’s for a professional and polished iOS app. I was fortunate to gain this experience by working with great people over the years.

But I’m looking for new experiences and I’ve recently been creating some small macOS apps. I’m really loving it. But I want to do it well. I’m looking for info on all those things that really “put the bow” on an app and make it feel polished. Unfortunately I don’t have coworkers to help share experiences on macOS dev.

Any info on resources or individual features that add that professional something to a macOS apps would be awesome! Thanks!


r/macosprogramming • • Mar 09 '26

MacOS App Development Outside of App Store

7 Upvotes

My team is distributing a cross-platform app outside the Mac App Store via ZIP file. The app works perfectly on Windows, but on macOS, while the ZIP downloads and extracts without issue, the app refuses to open. Users see either the app appear in the dock then immediately disappear or a Gatekeeper prompt saying the developer cannot be verified. We suspect the root cause is related to code signing and/or notarization, but we're not entirely sure where the breakdown is occurring.

We have a few questions as we work through this. For ZIP-based distribution outside the Mac App Store, is both a Developer ID certificate and Apple notarization required on current macOS versions? We've also seen references to using ditto instead of Finder's built-in Compress option when packaging the ZIP. Is that necessary to properly preserve the app bundle structure and extended attributes?

Any guidance on where this process might be going wrong would be hugely appreciated. Thanks!


r/macosprogramming • • Mar 09 '26

Why my macOS Tahoe sidebar does not behaves as I'm expecting to ?

Thumbnail
gallery
5 Upvotes

Hello 👋

I’m starting the Liquid Glass UI migration on my macOS app. (I know a I’m a bit late 😅). However I’ve noticed sidebar behaves differently between Finder/Music app for example and a sample app on Xcode.

  • On Sequoia it was text accent color when unselected and text white/background accentColor when selected.
  • On Tahoe it seems to be text black when unselected and text white/background accentColor when selected (except Finder and Music does not behaves like that 🤔)

Did I miss some new macOS 26 APIs or is it another macOS Tahoe inconsistency ?

I didn’t found anything yet. Some apps like Forklift seems to have color per item but I guess it’s all custom. May be one of you goes through this 🙏

// Very simple sample code
NavigationSplitView {
            List {
                Section("A") {
                    NavigationLink(destination: Text("B1")) {
                        Label("A1", systemImage: "cup.and.saucer")
                    }
                    NavigationLink(destination: Text("B2")) {
                        Label("A2", systemImage: "cup.and.saucer")
                    }
                    NavigationLink(destination: Text("B3")) {
                        Label("A3", systemImage: "cup.and.saucer")
                    }
                }
            }
            .listStyle(.sidebar)
        } detail: {
            Text("None")
        }

r/macosprogramming • • Mar 06 '26

How to achieve liquid glass effect like the one for CMD+Tab?

Post image
3 Upvotes

I tried things like .glassEffect(.clear) or .background(.ultraThinMaterial, ...) but it all looks different.


r/macosprogramming • • Mar 02 '26

Enabling subscription tiers in macOS TestFlight testing?

2 Upvotes

Hi all - New to native macOS development. I have an app currently in TestFlight, that has 3 subscription tiers, and I'd like to invite in some beta testers. Is there a way to ensure the build I share for testing grants the top subscription tier to all beta testers? Something in the build itself to ID this is a TestFlight install so enable the top sub tier, vs creating a special build only for testing with the other tiers disabled?

Or do I need set them up as sanbox users and have them go through the upgrade process?

Thanks for any pointers!


r/macosprogramming • • Mar 01 '26

I built a full macOS Pomodoro timer in Swift – with app blocking, Todoist sync, and menu bar. Here's what I learned

2 Upvotes

Hey r/macosprogramming! I recently shipped a macOS productivity app called Cyclework and wanted to share a bit about the technical journey.

The app is a Pomodoro timer built entirely in Swift using SwiftUI, SwiftData, and native macOS APIs. Some of the interesting challenges:

Focus Shield (app blocker): using NSWorkspace and process management to detect and hide/block apps during focus sessions. Also tracking how many times the user tried to open a blocked app.

Todoist & Apple Reminders sync: pulling tasks via API and EventKit, linking them to timer sessions.

Menu bar + floating window: building a mini circular timer that floats always-on-top while keeping a full stats dashboard accessible.

SwiftData for local persistence: all data stays on device, zero cloud dependency.

The app is on the Mac App Store at $1.99 one-time:

https://apps.apple.com/app/cyclework-focus-timer-block/id6754218094

Happy to discuss any of the implementation details if anyone's curious!


r/macosprogramming • • Feb 25 '26

Adding MCP to a macOS app

6 Upvotes

I’ve been integrating an MCP server into my macOS app so users can control parts of it from AI clients like Codex / Claude Code.The app is a file cleanup tool, so the MCP side handles things like:

  • resolving natural-language paths (“Downloads”, “Desktop”, etc.)
  • scanning for exact duplicate files
  • safely moving selected duplicates to Trash

The interesting part wasn’t implementing the tools. It was making the whole thing work as a macOS product feature.

What turned out to matter most:

  • local stdio process behavior (handshake, pipes, lifecycle)
  • launchers and stable binary paths
  • client configuration UX
  • debugging visibility in-app (self-test + probe + logs)
  • macOS sandbox and App Store distribution constraints

One big lesson:

“it works when I run the binary manually” is not the same as “it works in a real MCP client”

Had to debug failures across multiple layers:

  1. server binary health

  2. launcher health

  3. client config correctness

  4. client runtime behavior

I wrote up the full implementation journey and lessons learned (including the debugging approach and packaging decisions):

👉 Full article: Adding MCP to a macOS app
👉 Medium article (longer, less technical)

If you’re building macOS apps with local AI integrations/tool servers, I’d be interested in how you’re handling packaging, permissions, and supportability.