Tact’s move to direct CloudKit notifications
Tact has transitioned from a server-based notification system to a direct CloudKit notification approach. This change enhances privacy by eliminating the need for an intermediary server. The post details the technical challenges and solutions involved in this transition, including the use of silent notifications and consideration of different notification delivery mechanisms. It also discusses the trade-offs and limitations of the new approach, particularly in terms of notification reliability.Canopy 0.5.0: CanopyResultRecord
Canopy 0.5.0 updates how you work with record results returned from CloudKit requests, and introduces a new CanopyResultRecord protocol and type.Some scenarios for CloudKit queries based on CKReference fields
This post explores how querying in CloudKit based on CKReference fields works, and what are the limits and behaviors of that.CloudKit code from Tact is now available as Canopy open-source library
We have now published the CloudKit code from Tact as an open-source project. It provides source code, documentation about itself and CloudKit, and a complete example app.What Advanced Data Protection for iCloud means for Tact and other apps that use CloudKit
In December 2022, Apple announced Advanced Data Protection for iCloud that covers user data in iCloud with end-to-end encryption under certain conditions. This post examines the topic in more detail.How CloudKit share permissions and participants work
A technical post about how CloudKit share participants and permissions work when you change permissions on a share.Tact now requires iOS 15 and macOS 12 Monterey, and macOS TestFlight
As we are getting closer to our App Store release, we upgrade the OS requirement, and move the macOS public beta to TestFlight.Private rename
Tact now has a private rename feature. This post discusses why it’s useful, and how to use it.Tact is now available as public beta
Tact is now available as public beta. Here’s how to get the software and what to expect.Outlines of WWDC21 Keynote and Platforms State of the Union
Our short notes from the two starting sessions of WWDC21.Three methods of retrieving records from CloudKit
We use CloudKit as the backend for Tact. CloudKit stores all of Tact’s data, and we use various methods of retrieving records from CloudKit. This post examines these three methods (query-based, fetch-based, and changes-based), and discusses the tradeoffs and limitations of each.One month in
Our first month of private beta has gone well. We got interest from several engineers and started a nice private beta group.Disabling iCloud Drive should not disable CloudKit access on macOS and iOS
I’ve identified a major iCloud platform limitation: when you disable iCloud Drive, this also disables iCloud (CloudKit) access to apps like Tact, even though the UI indicates otherwise.Tact is looking for Apple platform engineers
Tact is looking for Apple platform engineers. You will architect, document, and build Tact on all client platforms (iOS, macOS, possibly more).How to create a CloudKit subscription to items that I have created
I needed to create a CloudKit subscription with the predicate “items that I have created”. It’s not obvious how to do that. Here’s the recipe.
subscribe via RSS