iOS File Provider API

Hello,

I have been using Codebook for a long time now on iOS and MacOS and recommend it to anyone who asks. I really appreciate that you do not offer a cloud service, meaning i can keep my database strictly local. My basic setup is to use WiFi sync between my laptop and iPhone, with Time Machine to provide backups. However, while traveling that is not really an option, meaning any updates will not get backed up until I return home. I dislike the idea of using Dropbox or Google Drive, since that would involve a level of trust i do not have for either of those services. I notice that on MacOS I can do a local file sync to a NAS on my own private network. Would it be possible to offer something similar using the File Provider API of iOS? There are several apps out there that use that API to offer access for other apps to various types of file servers and cloud servers. In my case, I could use one of them to access my private NAS over my own VPN. The advantage to you would be that once you add support for the FP API, customers can pick whatever online storage solution they want without you needing to bother about adding support for it.

Best regards,

Peter

Hi Peter,

Thanks so much for using Codebook and posting your feature request!

It would certainly be a nice addition in terms of functionality for our customers on iOS, as it would expose more cloud storage services for Codebook to sync with, as long as those services implement a File Provider Extension that exposes folders. We already have some experience working with the system chooser UI and File Provider API from the Add Attachment feature on iOS.

However, I wonder if Codebook for iOS would be able to “bookmark” the security-scoped file provider URL that the user has chosen to sync? Or would the user have to re-choose it every time, or every so often? I think the answer is yes it can be bookmarked (and that’s how local folder sync works on macOS), but we’d have to try it out or do some more digging into the docs to find out.

We’re currently working on and testing an automatic, background sync system for Codebook that we run ourselves. I realize not everyone will want to use that and prefer to avoid any kind of cloud storage in favor of local or offline sync (i.e. Desktop WiFi). To that end we’re keeping all the current sync services in Codebook up-to-date and available. The iOS File Provider would make a nice addition for those customers. However, we’ve got to stay focused on our current work, so this is going to have to go on the backlog, and I can’t commit us to making that change right now.

Please let me know if I’ve understood your feature request correctly, and sorry that we can’t just jump on it, I will add it to our internal tracking list.

(Apologies for taking so long to reply, by the way, we’ve been busier than usual over the last few days with a bug caused by unexpected changes to Google Drive affecting a lot of customers.)

Hello William,

I am glad to hear you are keeping the current sync services intact while working on your new background sync system. I can see the benefits of the new system but I think I prefer the current solution. I realize there is probably a lot of work involved in getting background sync to work so I don’t mind you can’t work on iOS File Provider sync right now. Regarding “bookmarking”, I suppose it would indeed be convenient if the app can remember where to sync to. I will probably want to manually login to a specific folder on my NAS before doing the sync (unless Codebook can do that for me).

Best regards,

Peter