Nextcloud File Provider and Remote Changes
March 24, 2026
This article is about how and why the Nextcloud file provider extension for macOS learns about changes on servers without Apple’s centralized push notification service.
Notes from a software engineer for iPhone, iPad and Mac apps.
The following posts have been tagged with "File Provider".
March 24, 2026
This article is about how and why the Nextcloud file provider extension for macOS learns about changes on servers without Apple’s centralized push notification service.
February 23, 2026
When attaching Xcode to the file provider extension process of the Nextcloud desktop client, the debugger connected just fine — but every single breakpoint was displayed hollow and in dashes which means Xcode cannot associate the position with a line of code on disk. Tracking down the root cause turned into quite the adventure.
March 23, 2024
We need file provider extension processes to talk to each other. What first appeared to be prevented by sandbox on iOS works with a different API.
March 11, 2024
Apparently, the feature set of fileproviderctl has been narrowed down to the dismay of developers, testers and even administrators and it appears to be intentional.
February 15, 2024
I found out how to successfully get replicated file provider services by URL on iOS which previously was impossible due to FileManager throwing a cryptic error.
February 13, 2024
I always thought that @objc protocols put constraints on protocol definitions that make the use of async and throws impossible.
Don’t ask me why.
It actually is not necessary to use completion handlers. async throws methods can be used instead.
February 12, 2024
macOS 13.6 Ventura shipped a fileproviderctl binary with broken signing which rendered it useless and us unable to properly clean up the environment.
February 11, 2024
Developing a file provider for macOS is more pleasant developer experience than for iOS.
At least in my opinion.
One of the reasons is the availabilty of helpful command-line tools like fileproviderctl.