Skip to content

Cloud Storage Providers

BitDek works with music stored in cloud services through iOS’s Files app integration. Some providers work better than others due to iOS platform limitations. This guide explains what works, what doesn’t, and the workarounds.

ProviderAdd as Source FolderShare ExtensionNotes
iCloud DriveYesYesBest experience, no limitations
On My iPhone/iPadYesYesLocal storage, fastest imports
DropboxYesYesCache refresh sometimes needed
Google DriveNoYesUse Share Extension as workaround
OneDriveNoYesUse Share Extension as workaround
BoxNoYesUse Share Extension as workaround

Bottom line: iCloud Drive and local storage have zero limitations. For Google Drive, OneDrive, and Box, use the Share Extension method instead of source folders.

When you tap “Add Source…” in BitDek, the iOS folder picker opens. You can browse any provider visible in the Files app. The difference is whether you can actually select folders.

iCloud Drive - Full support. Add folders, browse contents, select files. No limitations.

On My iPhone/iPad - Full support. Direct file system access works perfectly.

Dropbox - Folder selection works, but with a cache limitation (explained below).

Providers That Don’t Support Folder Selection

Section titled “Providers That Don’t Support Folder Selection”

Google Drive, OneDrive, Box - When you navigate to these providers in the folder picker, the “Open” button stays disabled. You can see folders but can’t select them.

This is not a BitDek limitation. These providers haven’t implemented the iOS APIs required for folder selection. Only Apple (iCloud) and a few third-party providers support this feature.

For providers that don’t support folder selection, use the Share Extension:

  1. Open the Files app
  2. Navigate to your Google Drive (or OneDrive, Box, etc.)
  3. Select your music files or folders
  4. Tap Share
  5. Choose BitDek

The Files app has system-level access that lets you share from any provider. See Importing via Share Extension for detailed instructions.

Dropbox folders can be added as sources, but there’s a known limitation with newly uploaded files.

When you upload music to Dropbox from your computer or the web, those files may not appear when you browse that folder in BitDek. The files exist (you can see them on dropbox.com), but BitDek doesn’t see them.

iOS cloud providers maintain a local cache of folder contents. When you upload files remotely (not through the iOS device), the cache doesn’t update automatically. BitDek, like all iOS apps, can only see what’s in the cache.

The Files app has special system privileges to trigger cache refreshes. Other apps don’t have this access.

Before importing newly uploaded files:

  1. Open the Files app
  2. Navigate to the Dropbox folder containing your new files
  3. Just view it (you don’t need to do anything else)
  4. Return to BitDek and browse the source

Viewing the folder in Files triggers the cache refresh. After that, BitDek sees the updated contents.

You need to refresh the cache when:

  • You uploaded files from a computer or the web
  • The folder hasn’t been viewed in Files since the upload

You don’t need to refresh when:

  • You’re using iCloud Drive (real-time sync)
  • Files are on local storage
  • You already browsed the folder in Files app
  • You’re using the Share Extension (bypasses cache entirely)

Why Google Drive Doesn’t Work as a Source

Section titled “Why Google Drive Doesn’t Work as a Source”

This is the most common question about cloud storage in BitDek.

iOS provides a folder picker API that apps use to let users select folders. For this to work, cloud providers must implement specific File Provider APIs on their end.

Google, Microsoft, and Box have chosen not to implement folder selection in their iOS File Provider extensions. Apple can’t force them to, and BitDek can’t work around it.

The Files app shows Google Drive folders because Files has system-level privileges that third-party apps don’t have. BitDek isn’t missing a feature. Google Drive simply doesn’t expose this capability to any third-party app.

The Share Extension bypasses this limitation entirely. From the Files app:

  1. Navigate to Google Drive
  2. Select files or folders
  3. Share to BitDek

This works because you’re sharing from Files (which has the special access) rather than asking BitDek to pick from Google Drive directly.

See Importing via Share Extension for the complete workflow.

If you use Google Drive or OneDrive heavily, consider:

Move to iCloud Drive - Copy your music to iCloud Drive, then add it as a source in BitDek. iCloud has no limitations.

Download locally - Download your music to “On My iPhone” and import from there. Fastest option if you have the storage space.

Use WiFi Transfer - Upload your collection from your computer via BitDek’s web interface. See Importing via WiFi Transfer.

No special considerations. Add your music folder as a source and import whenever you want. New files appear immediately.

Remember the cache refresh when uploading remotely:

  1. Upload to Dropbox (from computer)
  2. Open Files app, navigate to folder (triggers refresh)
  3. Import in BitDek

Or skip the cache issue entirely by using the Share Extension for each import.

The Share Extension is your primary method:

  1. Open Files app
  2. Navigate to your music in Google Drive/OneDrive
  3. Select files or folders
  4. Share to BitDek

For large collections, consider WiFi Transfer instead. It’s faster for bulk imports from your computer.

If your music spans multiple providers:

  • Add iCloud Drive and Dropbox folders as sources
  • Use Share Extension for Google Drive/OneDrive files
  • All imports end up in the same BitDek library

iOS cloud storage uses a system called File Provider. Each cloud app implements a File Provider extension that:

  • Runs as a separate process from the main app
  • Maintains a local metadata cache of remote files
  • Handles download/upload operations
  • Exposes files to other apps through iOS APIs

The cache design is intentional. iOS assumes users will browse cloud content through the Files app, which acts as the central hub. Apps like BitDek are expected to work with cached data.

Apple provides an API (NSFileProviderManager.signalEnumerator()) to trigger cache refresh, but only the File Provider extension itself can call it. Third-party apps consuming the provider have no access to this API.

This is a sandboxing decision by Apple. Apps shouldn’t be able to control other apps’ extensions.

When BitDek scans a source folder:

  1. Uses FileManager.enumerator() to list contents
  2. Receives cached metadata (not live remote data)
  3. Processes whatever the cache reports

When you share from Files:

  1. Files app triggers the provider to enumerate fresh
  2. You select from the updated list
  3. Share Extension receives current file references
  4. BitDek imports from those references

This is why sharing from Files works better for providers with stale caches.