Archive for July 20, 2026

Monday, July 20, 2026

Licensing a Mac App With RevenueCat

Jared Sorge:

I know there are options out there like Paddle, FastSpring, and Lemon Squeezy that have worked for many apps like mine over the years. But I also wanted something simple for my users. Not to mention Apple Pay was a must-have.

I believe all the services he mentions do support Apple Pay.

  • RevenueCat serves as the source of truth for whether or not a customer is licensed.

  • I create RevenueCat customer IDs from local iCloud identifiers (more specifically, calling userRecordID() on my CKContainer in CloudKit).

  • When the user makes a purchase, they earn an entitlement that I look for in Arborist to grant them a license.

He doesn’t need to run his own server, and the purchases are automatically tied to the user’s iCloud account, so there are no e-mails or serial numbers to deal with. On the other hand, well, it’s all dependent on the Apple Account.

The app, which helps manage Git worktrees, is shipping now.

Previously:

Git Tower 17

Bruno Brito (release notes):

In Tower 15, we introduced the “Fully Merged” badge and Automatic Branch Management to help you keep your repository tidy. With Tower 17, we’re taking the detection behind that badge to a whole new level. […] Tower now matches your local branches against merged pull requests from your hosting service, such as GitHub or GitLab.

[…]

Trust is everything when deleting branches — so we redesigned the “Fully Merged” hint view to show you exactly which checks matched.

[…]

One that is particularly noteworthy is that updating submodules is now significantly faster! Tower gathers each submodule's Git data concurrently instead of one at a time—something you will especially notice in repositories with many submodules.

I’m sad that they got rid of the yellow icon.

Previously:

Siri AI Beta

Federico Viticci (Mastodon):

The AI frontier from the two big labs (and – we have to be honest with the numbers here – probably SpaceXAI and Meta now, too) is in a completely different league at the moment. I spent my first couple of weeks with Siri AI trying to convince myself that I could replace Codex with Siri AI, and that was the wrong approach. There is a potential future in which Siri AI can become a more proactive and capable agent, but that’s not what Apple is shipping this year.

[…]

Siri AI is a dramatically better Siri for typical Siri stuff. The new Siri understands your commands and nuanced requests better because of the LLMs behind it; it can often perform multiple requests in one go (such as setting multiple timers with one command); the new expressive (and customizable!) voices sound great, and they’re terrific at reading and summarizing notifications. Apple’s first advantage compared to other chatbots is right here: only Siri can integrate with the iPhone and iPad to this extent, so even if the Foundation models aren’t as smart as the competition, Siri can do a lot more for most people on their devices because neither OpenAI nor Anthropic have OSes they can control.

[…]

The biggest issue I’ve encountered is the inconsistency of it all. Very often, the new Siri AI still replies with a generic “Uh oh, something went wrong“ error that doesn’t explain what the error was or why it happened. Sometimes, I ask a question via voice, and it errors out, but then a few seconds later, I type the same question in the app, and it’s fine.

[…]

My problem is that, right now with Apple’s own apps, both the index and Siri’s ability to perform actions are very inconsistent. The assistant hallucinates abilities it doesn’t have, and it frequently just doesn’t work.

Dan Moren:

The good news is that Siri AI is capable: impressively so, at times. In the lowest of low bars, it certainly beats the pants off the previous incarnation of Siri, but its access to your own personal data and all of the app on your phone also unlocks a host of new possibilities.

But it’s also not without the pitfalls that underlie all LLM-powered chatbots: errors in understanding, hallucinations, and so on.

[…]

The app itself is pretty barebones, letting you view those conversations in List or Grid layouts, select multiple conversations to delete them, and pin or rename any single conversation. In Settings : Siri, you can choose to either open to the overview or to a new conversation and decide whether old conversations are kept for 30 days, 1 year, or forever. It’s a little strange that one-off queries (“What’s the average height of the Norwegian World Cup team?”) are stored alongside more involved conversations (“Can you help me build a specific RSS feed for this site?”); I also ended up with a few orphan blank “New conversations” which I deleted, but it’d be nice if you could filter to find those. Conversations are fully searchable and sync between devices via iCloud.

John Voorhees:

Despite the current limitations, if you use chatbots as a replacement for Google Search, you’ll probably have a good experience with the new Siri app. That’s because even in these early betas, if you ask Siri something like, “Give me a day trip itinerary for a trip to Chicago this Saturday,” you’re likely to get good but pretty middle-of-the-road recommendations. From there, though, you can drill down with follow-up queries to get something more in line with your tastes. The results include source links you can follow, too. Given the ad-strewn mess that web search has become, using Siri for this sort of thing is a meaningfully better experience.

The one caveat on Siri’s world knowledge is that it’s roughly 2-3 weeks stale in some places.

[…]

A good example is Music. You can prompt Siri to play a song, but most of the rich metadata in the app isn’t exposed to Siri, which is a shame because it is exposed elsewhere, for example to AppleScript.

Previously:

notarytool Can’t Handle Zip64 Files

Wade Tregaskis:

In short: if you have any file in your app (or whatever it is you’re trying to get Apple to sign) that is over 4 GiB, you must use a disk image (DMG) to package it for notarytool, not a zip file.

This is because support for files larger than 4 GiB requires using the “Zip64” zip file format, which would be fine except Apple’s notary servers can’t handle them.

Previously: