AUv3 and iOS File Systems

Picking at some old wounds here and reviving some dead topics since I’ve stumbled into this issue recently. Basically, I want to address the age-old problem of creating an iOS app with an AUv3 counterpart, which has a user library of presets.

I’ve found some relevant threads, but they’re relatively old and possibly outdated.

Specifically, it seems like these threads pre-date juce::File::getContainerForSecurityApplicationGroupIdentifier: JUCE: juce::File Class Reference

Basically, all I want to verify is whether the following is true:

  1. Standalone apps and AUv3s can share data only via juce::File::getContainerForSecurityApplicationGroupIdentifier
  2. Standalone apps can expose their internal data via Files (“On My iPad”) via juce::File::SpecialLocationType::userDocumentsDirectory
  3. AUv3s can access their own, sandboxed version of juce::File::SpecialLocationType::userDocumentsDirectory, which isn’t exposed via Files
  4. As a result, AUv3s have no hope of making their data public to the user via Files

At best, I think I could cobble together a system where AUv3 writes to the shared location, and Standalone slurps any changes and mirrors them to userDocumentsDirectory. But that’s still a pretty damn clunky UX if the user has to make a preset in AUv3 –> open standalone –> then they see their presets in Files. It also seems relatively brittle, and in some cases hard for Standalone to recognize if it should be deleting a file in the shared location or copying it to the public location.

Is there any alternative? I’m guessing not since every app I’ve tested seems to have an independent user library of presets between Standalone and AUv3.

This is also my understanding, there is no alternative to the app group folder , and it is not convenient at all.

Also worth mentioning that this would be just as clunky in the reverse case. Say a user added, rearranged, or deleted a file via the Files app. They’d have to open standalone first in order to see that change reflected in AUv3.