Skip to content

Instantly share code, notes, and snippets.

@marcoarment
marcoarment / OCObservableKeyPaths.swift
Last active January 18, 2024 06:01
A Combine publisher for `@Observable` key-paths
// I think this works and doesn't create circular references?
/*
Usage: Add OCObservableKeyPaths conformance to the observed type. Then, e.g.
audioPlayer
.publisher(forObservableKeyPaths: [ \.timestamp, \.duration ])
.sink {
// respond to change
}
//
// OCXML.swift
// Created by Marco Arment on 9/23/24.
//
// Released into the public domain. Do whatever you'd like with this.
// No guarantees that it'll do anything, or do it correctly. Good luck!
//
import Foundation
@marcoarment
marcoarment / privacy.markdown
Created February 24, 2026 20:58
Reminder privacy policy

PRIVACY POLICY

This policy applies to all information collected or submitted on Full City, LLC's website and apps.

INFORMATION WE COLLECT

The Reminder app has no servers, services, or accounts, and collects no data from users.

All tasks are read from and written to the iOS or macOS Reminders database.