ios 11 support of "files app"

Regarding iCloud Drive on OS X and iOS: I use a photo scanning app called Unfade which syncs to iCloud Drive. The content is visible on all my iOS devices using the iCloud Drive app, but not on any of my Macs using Finder, nor on the web interface for iCloud Drive. So iCloud Drive definitely has some odd quirks.

Thanks for replying. I saw it while having a peek at all the new bits and bobs.

On iOS 11.0.1, when I tap the download icon next to a Scrivener project in the Files app (the project is stored on iCloud Drive), Scrivener opens immediately and displays the following error message:

I could not find a way to first download the project to the Files app and then open it in Scrivener in a second step.

Is this an issue of the Files app or something that Scrivener can fix?

See KB’s post above in this thread.

:slight_smile:

Mark

This is a hugely annoying problem with the final version of iOS 11. In earlier betas of iOS 11, if you tapped a file in Files app, it would automatically download before it was passed to the app to open it. Alternatively, you could tap on the blue cloud icon on the right of the row in Files app to force a download. In the final version, and I have no idea why or if this is a bug Apple introduced at the last minute, this doesn’t happen. You can no longer tap on the cloud icon to force a download, and if you tap an undownloaded file, it gets sent to the app without downloading.

So, it seems that the app is now responsible for downloading an iCloud file if it is not yet downloaded when sent to the app. Which would be great, except that iOS 11 also introduces a bug whereby it is not possible for apps to monitor the download progress of an iCloud Drive file that is stored outside its own container. You can send a file to Scrivener, and it could (when I code this part), check if the file is (1) and iCloud file and (2) if so, trigger a download. However, once it’s done this, there is no way for Scrivener to monitor the download progress and show you a progress bar so that you know when the download is complete. The best it could do is poll occasionally checking to see if the download is complete, showing an indeterminate spinner - which for large files would look as though Scrivener has frozen. I have contacted Apple technical support about this to see if there is any way around this bug, but am still waiting for an answer.

However, there is a way to tell Files to download files - it is just really, really well hidden. To do so:

  1. Long-press on the file in Files app.

  2. Tap “Info” in the black menu that appears.

  3. Tap the little blue cloud icon in the info window appears. This actually works and downloads the file, unlike the identical button that appears in the row in Files app.

Basically, Files app is great, but it seems that it is not quite ready for prime time yet. Hopefully Apple will address all of these issues, but it’s a shame they weren’t addressed before the iOS 11 release. (Although this isn’t the worse iOS 11 bug - that would be the completely broken rich text system. :slight_smile: )

All the best,
Keith

@KB

Why isn’t DropBox available as an option to Store Files in iOS 11? This thread says that DropBox is still the method for syncing, but without the option to save files there, how do I get it to sync? It seems as though since iOS 11 that’s not an option any longer.

Have you installed the Dropbox software on your iOS device? It’s completely separate from the Files app.

Katherine

Hi Katherine, yes…DropBox is installed. Installing DropBox by itself doesn’t cause Scrivener to sync with it. We have to point Scrivener to DropBox, right? The only setting that I can see that accomplishes that is in iOS Settings, Scrivener, Document Storage. The only two options I have as locations are iCloud Drive and On My iPad. It seems that DropBox would need to be an option here. What am I missing?

Or, my question might be, how does one sync files between iOS, macOS, and Windows 10? macOS and Windows syncs fine through Dropbox. iOS no longer does…for me.

[[Moving this to a new topic: iOS 11 and DropBox Syncing Issues]]

In the iOS Scrivener app itself, click the Edit button at the top of the Projects list, then the gear icon at the bottom right of the list. Look for Dropbox Settings there.

Katherine

Have you considered using a SQLite database file instead of a ZIP file? SQLite has some advantages as an application file format. You wouldn’t need to write file access code, since SQLite should already be available for every platform where Scrivener exists. You can also access arbitrary files within the database very easily and update them without having to rewrite the entire file. (SQLAR is a proof-of-concept showing SQLite works very well as a replacement for ZIP files.)

The chief limitation would probably be that SQLite does not support simultaneous read-write access to the database without some sort of filesystem locking, which I don’t know if iCloud Drive supports. But of course ZIP files don’t support that either.

Is a SQLite database readable by standard text editing tools? One of the key aspects of the Scrivener project format is that your data is not “trapped:” it’s possible (though admittedly tedious) to extract all of your data even if you completely lose access to Scrivener.

Katherine

Not as such, but the database file format has a well-documented spec and there is a command-line tool freely available for many operating systems (it ships with Mac and Linux) that can provide full access to the database, including dumping all content to a text file.

There’s also plenty of GUI tools for accessing SQLite databases; these require one to know SQL, but this is a pretty common skillset. I have no doubt plenty of people will be able to create workflows for working with Scrivener-in-SQLite files, if this format were adopted.

I would classify this type of file format as equally “possible, though perhaps tedious” to extract text.

Remember that Scrivener users are writers, not programmers or database designers. A “well-documented spec” and a “command line tool” are not the same as “can open with any text editor on any computer.”

Katherine

That’s true, but it’s something the average writer could accomplish given step-by-step directions from a website or something. Obviously only worth considering if the SQLite format would be a net benefit; I think it would be, but I am not an expert on Apple development.

You must know different average writers than I do.

As someone with direct knowledge of the Scrivener support queue, I have less confidence in the “average writer” than you do.

On what basis do you believe the SQLite format would offer a net benefit? (Keeping in mind that the costs include throwing out and rewriting a significant chunk of Scrivener’s existing code base in order to work with the new format.) Your posts so far compare SQLite to a ZIP file, but Scrivener does not currently use a ZIP format and has no plans to do so.

Katherine

I was under the impression a ZIP file or similar method of bundling multiple files into one actual file was being considered, as part of allowing Scrivener to work with iOS’s Files support.

I guess I was wrong.

Such a thing has been suggested by some users. It is not under serious consideration by the development team.

Katherine

This works for me, thanks.

For everybody else interested in this, keep in mind that this is a one-way-import, not a sync. The Scrivener project will be copied into Scriveners container on iOS and the project in iCloud Drive will not see the changes made on iOS. It is possible to manually export the project from iOS, though and save it back into iCloud Drive (as a ZIP file).

This sound bad :frowning: