Dropbox Syncing with iOS
- The Quick Version
- Getting Started
- Setting Up Dropbox
- Preparing Projects
- How Dropbox Works
Projects in Sync Across Devices
- Using a Different
- Changing the Dropbox
- Sync Conflicts
Common Sync Problems
- Tips for
the First Time You Sync a Project
- Choosing Which
Projects to Sync
Why Are Multiple Files Transferred When I Only Changed One
- Why Isn't Syncing
- What About Other Syncing Solutions?
There's a lot of text below, but please don't let it put you off. This document was put together for those having problems syncing. It goes into great detail about all the basics, attempting to cover every single step in as much detail as possible so that anyone running into issues should be able to figure out what is going wrong. Really, once you're set up, sync should be as simple as this:
- Edit on your Mac or Windows machine, and wait for the changes to be synced by the Dropbox desktop client.
- Tap the "sync" button on iOS to download any changes.
- Edit the project on iOS.
- Tap the "sync" button on iOS to upload any changes.
- Reopen or return to the project on macOS or Windows. Follow any prompts to reload the project.
- Rinse and repeat.
The tutorial project in the iOS version covers how to get set up with syncing with much more brevity, and we also have a video tutorial on the subject of setting up and using sync. You only need to look through the instructions below if you followed the tutorial in the iOS version but ran into problems, or if you are finding syncing problematic.
Scrivener for iOS syncs with the macOS and Windows versions using Dropbox. You will need Dropbox installed and running on your desktop machine to sync with the iOS version.
You can download Dropbox for free here:
When Dropbox is installed on your desktop machine, it places a "Dropbox" folder in your computer's file system:
- On macOS, you should see the "Dropbox" folder in the Finder's sidebar:
- On Windows, you should see the "Dropbox" folder in File Explorer's sidebar:
You will use a folder inside the Dropbox folder to sync your projects. Before you worry about that, however, make sure that Dropbox sync is set up in iOS by following the instructions below.
To set up Scrivener on iOS so that it can sync with Dropbox, follow these steps:
- In Scrivener for iOS, make sure you are viewing the projects
screen (the screen that lists all of the projects and the
tutorial), and do not have a project open.
- Tap the "sync" icon (the two curved arrows forming a
- Tap "Link Dropbox" in the menu that appears.
- If you have the Dropbox app installed on your iOS device, it
will now be opened and you will be asked to grant Scrivener access
to your Dropbox account. If you don't have Dropbox installed, a
sign-in form will appear inside Scrivener. Either way, follow the
in-app instructions and give Scrivener permission to access
- Once Scrivener has been allowed access to Dropbox, a "Dropbox
Settings" panel will appear, asking you to choose a Dropbox folder.
This is the folder you will use to sync projects between devices.
Only projects stored inside this folder will be synced.
- For now, we'll leave the default folder selected
(Apps/Scrivener) and tap "Done". Just note that you could have
chosen another folder, though - this is covered in the Using a Different
Dropbox Folder section.
Scrivener is now linked with the Apps/Scrivener location in Dropbox, but the folder is not created until you add a project to the folder on iOS and sync. To do this:
- Tap the + button at the top of the screen.
- Enter a title for the new project and tap "Create".
- Choose "Dropbox" as the location to save.
- The new project opens automatically. Tap "Projects" in the upper left to return to the project screen.
- Tap the "sync" icon.
If you have previously created the Apps/Scrivener folder in Dropbox, e.g. if you have already set up Scrivener on a separate iOS device, creating a new project is unnecessary; Scrivener will link with the existing folder and download any files that it contains.
(Note that all files within the linked folder will be downloaded to the device, but only Scrivener projects will be recognized and accessible within Scrivener. The folder you choose to link with Scrivener should be dedicated to Scrivener projects to avoid unnecessary downloads.)
You're now ready to bring across some projects from the desktop version.
The most important thing to remember is this: to sync projects between your desktop and iOS device, projects must be inside the Dropbox folder you selected when setting up the Dropbox sync on your iOS device. (You can always change that folder later - see Changing the Dropbox Folder below.) Here's how:
- In the Finder (on macOS) or File Explorer (Windows), click on
the "Dropbox" folder in the sidebar.
- On the right, you should now see a list of folders inside your
- Assuming you chose the default settings when setting up Dropbox
sync in Scrivener on your iOS device, you should see an "Apps"
folder. Double-click on it to reveal its contents.
- Inside the "Apps" folder, you should see a "Scrivener" folder.
Now double-click on that.
- You are now looking inside the /Dropbox/Apps/Scrivener folder.
It should contain the project created when setting up the linked
Dropbox folder on iOS.
- Open another Finder or File Explorer window and locate a
project you would like to sync with the iOS version.
Important: Make sure the project is not open in Scrivener
when you do this!
- Drag the project into the /Dropbox/Apps/Scrivener folder, and wait for it to finish moving across. Important: Scrivener projects have the file extension ".scriv" (you might not see this on macOS if the extension is hidden). On macOS, the icon of a Scrivener project will either be black and white or have a blue bar along the left edge. On Windows, Scrivener projects are folders with a ".scriv" file extension. On Windows, it is absolutely vital that you drag the entire folder across and not just some files inside it.
Repeat for each project you want to share with the iOS version.
When you add a project to the /Dropbox/Apps/Scrivener folder, the Dropbox app on the desktop will automatically start uploading it to the Dropbox servers:
- On macOS, there is a Dropbox icon in the menu bar near the clock. Whenever Dropbox is uploading or downloading files a little spinner will appear in the corner of this icon, indicating activity.
Dropbox is uploading or downloading files (macOS)
Dropbox has finished syncing (macOS)
- On Windows, the Dropbox icon appears in the system tray on the taskbar, near the clock. It shows a blue spinning indicator in its corner indicating sync activity. When it has finished uploading or downloading files, it will have a little green tick.
Dropbox is uploading or downloading files (Windows)
Dropbox has finished syncing (Windows)
You must wait for syncing activity to end before trying to access your files on either platform. Until Dropbox on the desktop has finished syncing the files with its servers, not all files are available on the servers, meaning that the iOS version will not be able to download everything. If a project is only partially downloaded, the iOS version won't be able to open it (and you may see an error).
Once you have moved the project to the /Dropbox/Apps/Scrivener folder and Dropbox has finished uploading all the files, you are ready to download them to your iOS device, as follows:
- On your iOS device, tap the sync icon again.
Scrivener for iOS will now download the projects you have added to the /Dropbox/Apps/Scrivener folder. Once it has finished downloading, the projects will appear in the projects list, and you can tap on them to open and edit them.
Note: if your project is particularly large (in file size, not necessarily in the number of documents it contains), syncing it for the first time could potentially take a long time, because all the files will need uploading from your desktop machine to the Dropbox servers, and then downloading from the Dropbox servers to your iOS device. Please see the section on Tips for the First Time You Sync a Project for a trick to speed this up.
You now have your projects set up so that you can edit them on iOS. Before we look at how you keep all your changes in sync between devices, it's a good idea to know how Dropbox works. Consider the diagram below:
- Whenever you make a change on your desktop machine, the Dropbox app uploads the change to the Dropbox servers.
- Whenever the Dropbox app on the desktop detects a change on the Dropbox servers, it automatically downloads it.
- If there are any conflicts (because, for instance, the Dropbox app detected that you edited the same file on two devices), Dropbox will make a "conflicted" copy so that you don't lose anything.
- When you sync on iOS, Scrivener for iOS downloads any changes that are reported by the Dropbox servers.
- During the sync, the iOS app also uploads any changes that have been made to the Dropbox projects on the device.
- Like the Dropbox app, it will make copies of any files that seem to have been edited on two devices at the same time.
What this means is that you do not need an internet connection to work with projects that are set to sync with Dropbox. Both your desktop machine and your iOS device have a local copy of the project that you can work on. You make sure your changes are available everywhere by tapping the sync button on iOS to download or upload changes and by letting the Dropbox app do its work on your desktop machine.
Now that you have your projects in the right Dropbox folder and know a little about how Dropbox works, it's on to the most important part - keeping your projects in sync.
Everything up to now you only need to do once. This section covers how you keep projects in sync - you'll be following this routine regularly, every time you move back and forth between devices. Here's how:
Let's say you have made some changes in Scrivener for macOS or Windows. To make sure all those changes are synced to iOS:
- Your projects are now stored in the /Dropbox/Apps/Scrivener
folder. Make sure you open them from there when opening them in the
desktop version and making changes.
- After you've made changes in the desktop version, it's up to
you whether you leave the project open or closed before editing it
- The most important step is this: wait for Dropbox on the
desktop to sync all changes (see the images in the Preparing Projects for
Syncing section: on macOS, make sure the syncing
spinner in the Dropbox icon in the menu bar has finished and
disappeared; on Windows, make sure the blue syncing spinner in the
Dropbox icon in the system tray has stopped and changed to a green
tick). If you don't do this, all the files may not be available
when you try to open the project on iOS, and you may get sync
- Once Dropbox has finished syncing on the desktop, tap the "sync" button in iOS (the circular arrows). This will download all the changes you made in the desktop version. (Note: if the project is open on iOS when you tap "sync", it will prompt you to close the project.)
This can be done at any time. You can do so immediately, or
hours later when you think of something you'd like to add to your
project. The important thing established in step #3 is that your
work is already online, you just need to get it down to the mobile
device before you start working.
5. You are now ready to edit the project on iOS!
Now you've made some edits to the project on iOS, and you want to make sure they are all available on Dropbox and your desktop machine:
- Tap the "sync" button in the iOS version (the circular
- Wait for sync to complete.
- Back on your desktop machine, wait for the Dropbox app to
finish syncing. (Again, see the images in the Preparing Projects for
Syncing section: on macOS, make sure the syncing
spinner in the Dropbox icon in the menu bar has finished and
disappeared; on Windows, make sure the blue syncing spinner in the
Dropbox icon in the system tray has stopped and changed to a green
- If the project is closed on the desktop, open it. All the
changes will be incorporated and you will be able to continue
working from where you left off.
- If the project was open, click on it or bring it to the front.
At this point, you should be notified that changes have been made
in the mobile version and that the project needs reloading. Follow
the instructions to close and reload the project, so that all
changes are incorporated.
- If you don't see this message, either click on the "Mobile Sync" icon in the toolbar, or choose Sync > with Mobile Devices from the "File" menu. (You will only receive notification that files have changed when the project is brought to the front - if it was already at the front, you will not see the notification, so will need to press the toolbar button or use the menu command.) At this point, you'll be told that the project has changes - follow the instructions to reload the project, at which point you can continue editing from where you left off.
Repeat the above as necessary.
Once you have set up Dropbox sync on iOS, whenever you create a new project you will be asked where you want to save it. If you choose to save it to Dropbox, the project will be saved in the Dropbox folder you selected earlier (the /Dropbox/Apps/Scrivener folder by default). You will then sync it just the same as you would with any other Dropbox project. When you want to open it on the desktop, you open it from the Dropbox folder (e.g. /Dropbox/Apps/Scrivener).
To create a project on the desktop that you want to sync with the iOS version, when you are prompted to choose a save location, simply choose the Dropbox folder you set up for syncing with iOS (e.g. /Dropbox/Apps/Scrivener). Once you've done that, all the steps for syncing are exactly the same as above.
After you have set up Dropbox sync on iOS, you can move projects from the local-only storage into Dropbox by tapping the Edit button at the top of the projects screen, then using the drag strip to the right of the project name to drag each project from the "On my iPad/iPhone" section to the "Dropbox" list. (The list will be alphabetized automatically, so the project may not appear exactly where you dropped it.) A blue triangle will appear on the project icon, indicating it has changes to sync, and the project will be uploaded to Dropbox the next time you tap the sync button.
You can move projects out of Dropbox to your device's local storage the same way. The project will be deleted from the Dropbox server when you next sync iOS.
In the steps above, we used the default Dropbox folder suggested by Scrivener: /Dropbox/Apps/Scrivener. You can use any subfolder on Dropbox, however. For instance, you might set up the following folder for your Scrivener projects:
/Dropbox /Writing /Scrivener Projects
You could create this folder in the Finder or File Explorer and place your Scrivener projects into it just as you did in Preparing Projects for Syncing for the /Dropbox/Apps/Scrivener folder.
When first linking your Dropbox account with Scrivener for iOS, instead of choosing the default folder, you would select "Other" and then chose the /Dropbox/Writing/Scrivener Projects folder. Everything else would be the same, except that:
- You would place your projects into the /Dropbox/Writing/Scrivener Projects instead of the default /Dropbox/Apps/Scrivener folder.
- You would open projects on the desktop from /Dropbox/Writing/Scrivener Projects, because that's where your synced projects are stored.
You can also place Scrivener projects in subfolders inside the Dropbox folder you have chosen for syncing. For instance:
/Dropbox /Apps /Scrivener /Notes Ideas.scriv Research Project.scriv /In Progress Dissertation.scriv My Great Novel.scriv
With the above folders, assuming that Scrivener for iOS is set up to sync with /Dropbox/Apps/Scrivener, the iOS version will list and allow you to edit all four Scrivener files contained in the two subfolders. The subfolders themselves ("Notes" and "In Progress") will not be shown in the iOS projects screen, but the Scrivener projects inside them will.
Be aware that everything within the designated sync folder will be downloaded to your device, even if it is not a Scrivener project. Dropbox sync cannot distinguish between types of files. Try to keep this area clear of all files but projects, to keep sync fast and your device storage requirements minimal.
You can change the Dropbox folder you sync with at any time:
- Tap the "Edit" button above the projects list in Scrivener for
- Tap the gear button in the footer bar that appears.
- Tap "Dropbox Settings".
- Choose a different Dropbox folder from the chooser that appears.
You will be asked whether you want to delete any projects you currently have synced with Dropbox from the device or to keep copies of them locally. Note that deleting them will not delete them from Dropbox; it will only delete the local copies from the device.
It will then download any projects stored in the new folder you have selected.
Occasionally, Scrivener may alert you that it has detected sync conflicts. This will only ever happen if:
- You have edited the project on more than one device or machine without syncing in-between. (For instance, say you edit on your Mac and then make edits on iOS but forgot to hit the iOS "sync" button).
If you make sure everything is synced, you'll never run into this issue. If you do, though, don't worry. You may receive one of two messages:
- Scrivener may tell you that it resolved all sync conflicts
successfully. If so, you don't need to do anything - Scrivener
managed to fix all the conflicts without any problems.
- Sometimes you might be told that conflicted files have been added to a "Conflicts" folder. This happens if you edited the same document on two devices without syncing, so that there are now two versions of the same text. In this circumstance, Scrivener leaves it to you to decide which one you want to keep - it will never make an assumption and delete something you may need. You'll find the "Conflicts" folder near the bottom of the binder. It will have a yellow warning triangle as the icon, and inside you will find a folder with today's date. Inside that are older copies of any files that have been edited on two devices. Check them against the versions in the main binder to see which version you want to keep. You can trash the one you don't want.
If you're having problems syncing, here are a couple of things to check:
If you receive one of these errors, the most likely cause is that you have not waited for Dropbox on the desktop to fully sync all of the files.
Each Scrivener project has many files inside it. If you don't wait for Dropbox on the desktop to upload all of the files before syncing on iOS, not all files will be available on the Dropbox servers, so the iOS version cannot download all of the files needed to open the project.
To fix this, simply check on the desktop, wait for the files to sync, and then tap the "sync" button in the iOS version to download the rest of the files.
Make sure you are not using "Sync with External Folder" on the desktop. That feature exports all the files in the project to an external folder so that they can be opened and edited in other apps. It is not for use with our iOS app. Instead, make sure you have followed the instructions on Preparing Projects for Syncing above: your actual Scrivener .scriv projects should be moved to the Dropbox folder.
Make sure you are using the latest version of Scrivener for macOS or Windows. You will need Scrivener 2.8 or above on macOS and Scrivener 1.9.5 or above on Windows to work with iOS projects. Versions of Scrivener prior to 2.8 on macOS and 1.9.5 on Windows do not know about changes to the file format that were made to work with iOS projects, so are unable to open projects created on iOS and do not see changes made to existing projects on iOS.
Very occasionally, you may run into Dropbox errors during sync. This usually happens on rare occasions where the Dropbox servers are running slow. If this happens, the best thing to do is simply wait a few minutes and then tap the "sync" button again.
If you still run into errors, try restarting Scrivener. You can do this by double-tapping the Home button and swiping up on the Scrivener window. Then tap the Home button again and restart Scrivener.
When you first sync a project, all of the files need uploading to Dropbox from your desktop, and then the iOS version needs to download them all. For large projects - or for lots of projects - that could take a long time, depending on your internet connection. Here's a way of doing it without having to wait for ages to sync the files. The basic idea will be to copy the project to both Dropbox and your device using a USB cable or local WiFI, prior to syncing, so that sync itself need not transfer the project files over the 'net:
- Follow the instructions provided in Setting Up Dropbox Sync, if you have
not already done so. For best results, after setting up sync, click
the Home button on your iOS device to leave Scrivener in the
- On your computer, drag the large project you wish to sync into
the sync folder that you set up in the prior step, and let the
entire project upload in the background while you continue getting
your device prepared.
Plug your iOS device into the computer and launch iTunes (or your preferred iOS file manager; the following instructions explain how to use iTunes).
Select your device.
Select "Apps" in the sidebar.
Scroll down to "File Sharing".
Select Scrivener in the "Apps" list.
Click the "Add..." button in iTunes and select the large project you wish to transfer to the device. This will add the project to the "Documents" list in iTunes (you may also be able to drag and drop projects into and out of the list).
(If you prefer a more powerful third-party file management tool, it may allow you to copy the project directly into Scrivener's "Dropbox" folder, within the app Documents folder. If you take this approach, then you can skip the following steps that describe dragging the project from the local storage area to the Dropbox sync area on iOS, as the project will already be filed under that section by moving it directly there from your computer.)
Important: at this point it is your job to wait.
Tap on the Scrivener icon on your device to open the software. You should find your project listed in the "On my iPad/iPhone" section of the project management screen.
Note: if you uploaded the project directly into your Dropbox folder from the computer, it will not show up anywhere in the list. This is fine, it is there you just cannot see it.
Tap the Edit button above the project list.
Drag your project (using the drag strip on the right-hand side) from the "On my iPad/iPhone" section to the "Dropbox" section, at the top of the project list.
Now, finally, you can tap the Sync button.
With extremely large projects it may still take a while to sync, because Scrivener has to download a list of all of the files along with their modification dates. Large projects can be comprised of thousands of files, which is in itself a large amount of data to download. The good news however is that since we've copied the same exact project to the device and Dropbox simultaneously, the results of sync will be to declare that nothing needs to be synced.
At this point you should find sync performance to be in line with the amount of editing you do to the project. If you change five files, it should only require a moment or two to sync this project, even though it has thousands of internal files.
When choosing which projects to sync with iOS, it's good to bear in mind the following considerations:
- Each project takes up space on your device's hard drive.
- Syncing projects, especially for the first time, can take time (and bandwidth if you are not on wi-fi).
If you're working between an iOS device and a desktop machine, the chances are that you don't need all of your Scrivener projects available on iOS. You most likely only want available the projects you are currently working on. It's therefore a good idea to choose a Dropbox folder for syncing into which you only place works-in-progress, rather than trying to sync every project you've ever created!
We therefore recommend only placing the Scrivener projects (.scriv files or folders) you want on your iOS device in the Dropbox folder (e.g. /Dropbox/Apps/Scrivener), and then moving them out of that folder again whenever you are done. Here's an example folder structure you might use on Dropbox:
/Dropbox /Writing /Ideas /Research /Scrivener Projects /In Progress /Archive
In this example, you would set up Scrivener to sync with the /Dropbox/Writing/Scrivener Projects/In Progress folder (see Using a Different Dropbox Folder, above). You would place any Scrivener projects (.scriv files or folders) you want available on iOS into the "In Progress" folder. Older Scrivener projects you don't need available on iOS could go into the "Archive" folder.
On disk, a Scrivener project is a folder containing many different files. Each document in the binder is represented by a different text file on disk; each note is a separate text document too. There is also a file containing the main binder structure, and various settings files. This file format allows Scrivener to work with very large projects, and to keep memory usage to a minimum. When you load a project in Scrivener, it only loads into memory the files it needs (such as the binder structure). It then loads other files as they are requested - for instance, when you tap on a text document in the binder to load it into the editor, only then will the text be read from disk and into memory.
This is why you may see the Dropbox sync report that it is uploading multiple files, even though you only edited a single project. If you open a project and make a text change in one document, for instance, not only is that document changed, but its modified date is recorded in the binder file, and a UI settings file is updated to note the current document that is open and its current scroll position.
Scrivener for iOS requires you to tap the "sync" (circular arrows) button whenever you want to sync. Whenever you tap this button, all files that have been changed on the device are uploaded to the Dropbox servers, and anything that has been changed in the Dropbox folder and uploaded to the Dropbox servers from other devices will be downloaded.
You may have seen other apps offer an automatic, background sync, and so wonder why Scrivener uses such a manual solution, with the user needing to invoke sync explicitly. The reason lies in Scrivener's file format.
As explained in the section above this, so that Scrivener can support large projects and research files, each Scrivener project is stored on disk as a folder full of files (a "package"). The files inside a project are interdependent. The file describing the binder structure, for instance, lists all of the files that are available in the project, and those files are stored as separate files inside the Scrivener project package. A text document may contain a reference to a comment that is stored in a separate file.
This means that, when syncing, it is absolutely crucial that all of the files in a project are transferred, otherwise you could end up with a project missing important files, or with some files that are new and some that are old, which could result in an invalid project.
It is also important that files don't just appear one at a time while a project is open. For instance, if the binder structure file suddenly changed because of an automatic sync, but none of the files it referenced were yet downloaded, a project could become unusable - and this would be especially bad if you lost your internet connection before the other files became available.
There is also the issue of data integrity. What happens if you make edits to a project with no internet connection, then make edits in the same project elsewhere, then only get an internet connection later? An automatic background sync would overwrite all the older files with the newer files, but the newer files would be from two different versions of the project. The project would now be in an invalid state and, even if Scrivener repaired the project, the chances are that you would have lost some work.
Manual sync allows Scrivener to ensure projects are always fully synced - as long as the sync completes successfully, you know that your projects are up to date and ready to use and that you can use them offline without any issues or things being changed behind your back. It also allows Scrivener to deal with any sync conflicts on occasions where a project is edited on two devices at the same time, because manual sync gives Scrivener full control to check the versions of files online against the local versions without anything getting overwritten automatically.
Most apps don't have to deal with these sorts of considerations. Most apps use a single file for each project or document. For instance, in Pages, each Pages document is a single file on disk (or on iCloud). Automatic background sync then becomes relatively easy, because if you are working on a document and it is changed elsewhere, Pages only has to deal with conflicts in that single file and can ask you which version of the two you wish to keep - it is not dealing with dozens (or even hundreds) of interdependent files that must be managed as a unit in order to ensure your projects are available and error-free.
All of this is necessary to provide the advanced features of Scrivener. To change Scrivener to use a single file format such as that used by Pages would require us to remove all of Scrivener's research features, so that Scrivener only ever had to deal with small projects that it could read into memory as a whole.
Of course, sync technologies are constantly advancing, and we will continue to evaluate Scrivener's synchronisation. Once syncing technology catches up with our requirements, you can be sure we will adopt it. Unfortunately, with a single coder working on the macOS and iOS versions, we don't currently have the resources of Apple or Google, which would be required to create that technology ourselves!
Currently, there are no plans to add support for syncing with other cloud solutions such as iCloud or OneDrive. As much as we love iCloud, it is not currently compatible with the sort of file format used by Scrivener (please see the section above on Why Isn't Syncing Automatic?).
We will continue to evaluate other sync solutions, but we may also need to expand as a team in order to support them. The Dropbox sync code is thousands of lines of code, and we would need to replicate much of it for each sync solution we supported. Currently both the iOS and macOS versions are coded by a single developer, with two other developers working on the Windows version, so there are manpower and resource considerations as well as technical obstacles.