In this series' previous part, I outlined my criteria for a kickass file management/sync system for iOS. We discussed the Document Picker and reviewed why I felt iCloud was not a sufficient storage solution.
Now, I want to share the system that has worked for me. It is not necessarily ideal, but it does get the job done. I hope you find it helpful, and maybe Apple and third party developers will improve upon the underlying mechanics of this functionality in future updates.
Last time, I stated that I needed at least two apps to accomplish my goal. One, an app to function as my iOS Document Provider, which had to offer Cloud sync functionality, have a corresponding OS X client, and support the Open Document Picker operation. Two, I needed an iOS app that allowed me to read and write to PDF files, which also supported the Open Document Picker operation.
For the former, I have found Google Drive to be the best solution. It has apps for both OS X and iOS, the sync is fast and accurate, and the iOS app supports all the necessary Document Picker operations. So, for PDF files that I do not mind storing on another person's computer (i.e., the Cloud), Google Drive is my go to storage solution.
For the latter, I have chosen Readdle's Documents (with the additional purchase of their PDF Expert app on both iOS and OS X). As per my criteria, Documents can open PDF files I have saved in Google Drive, read them, edit them, and save those changes back to the file I have saved in Google Drive.
Furthermore, they have a PDF Expert client available for OS X. Any changes I make to a PDF using this application will be accessible when viewing the file on iOS with Documents.
Documents Does More
On iOS, things are more complicated, but if you take the time to get to know Documents, you will find that it is a much needed Swiss Army Knife for iOS file management.
After your iOS apps are installed, you will see that Documents has a Open… option in the left panel menu. From here, you can access Google Drive via the Document Picker and open/read/edit your PDF files.
This is what I wanted, but I have found several annoying issues. One, when you go to select Google Drive as a Document Provider, you have to select a Google account name before you can access your files.
You have to do this EVERY SINGLE TIME you go to open a file, even if you have only one Google account. I believe this is an iOS issue, and hope that Apple, or Apple and Google, find a way to improve this flow.
Second, opening large PDF files can be very slow, and sometimes, the app can lock up. After trying to utilize this workflow for a few days, I found that Documents had a better way of accomplishing what I was after, but it was not intuitive to set up.
Two-Way Sync Folders
It turns out that Documents has the ability to create a two-way sync folder with another networked directory, i.e., whatever you do to the directory and its files on one device will be synced back to any other device that is synced with that networked folder.
Even better, Documents can do this directly in the app, without having to utilize the iOS Document Picker. This means that you get a native experience without any speed or performance issues. The problem is that it is not obvious how to set this feature up.
In the Documents app, you will see a WiFi symbol at the bottom of the screen. When you tap it, select Add Account. Here, you will see a variety of options, including Google Drive. Select Google Drive, and you will need to authenticate yourself to the service.
After you successfully log in, you will see that you can access the contents of Google Drive through this Network tab. However, you have not yet created the Sync folder I previously described. To verify this, head over to the Documents tab, and you will see that Google Drive is not yet listed there.
To make your Google Drive folder a two-way Sync folder, you need to take one more step. Go back to the Network tab, select Google Drive, and then tap Edit in the top right corner of the screen.
Now, tap Sync at the bottom of the screen. Documents will ask you if you want to enable two-way synchronization for this folder, and you will say Hells Yes! (emphasis mine). Afterwards, tap Done and head back to the Documents tab.
You should see a new folder with the user name of your Google account. Effectively, you have made your Google Drive folder a native Documents folder, and any changes you make to this folder and its contents will be automatically synced back to Google Drive, and vice versa.
In my experience, this performs flawlessly, and it works with other Cloud storage providers, like Dropbox, as well.
It Can Kick
Documents supports many file formats. For files like PDFs, you can do some serious markup if you have installed Readdle's PDF Expert, as previously mentioned. You can create and edit .txt files, too.
Documents makes creating folders and moving files around a breeze, and it even has a built-in web browser that excels at obtaining and managing downloads, a notorious weakness of iOS's Safari browser.
If you have not caught on already, Documents should most likely be your go to iOS file management solution. Other more powerful solutions (like GoodReader) exist, but they are ugly as sin and are overkill for most people.
No Hago Cloudo
There are some things that I am not comfortable storing on someone else's computer, and for desktop/laptop systems, people have excellent, open source solutions available to them, like SyncThing. Unfortunately, there is not yet an iOS client for this application.
However, Documents can achieve the same functionality. Just like with our Google Drive two-way Sync folder, you can go to the Network tab and add an account for a SFTP Server (i.e., your computer), and set up a directory as a two-way Sync folder.
Then, when both your computer and iOS device are connected to the same network, an automatic two-way sync will occur.
iOS file management is kind of a mess, but there are solutions that can make you a more productive iOS citizen. Hopefully, someone at Apple is listening to its users and will work with developers to improve this aspect of their operating system.