File paths in IOS

Hello,
I am working on an audio plugin. It is almost done. It is working in Windows and Mac. Now I am trying to build the IOS version. I have some problems about the GUI and the file paths.

  1. Gui problems:
    Standalone App:
    it works in ipad versions
    But in iphone, some of my knobs are not moving.
    Auv3:
    some of my knobs are not moving .
    My main window is 1000x600px
    I know that i should modify it to be a wide screen so that it can fit properly in DAWs. For example 1000x400px

In both standalone and auv3, the CPU usage is about 100%. I think it is hard to run these plugins in ipad and iphone. I checked some other standalone and auv3 plugins. Some of them has the same issues. Especially in iphones , some of buttons and knobs are not working.

  1. File paths:

I am trying to save my presets(xml files with a certain extension like “.mypreset” ) in a folder. The file chooser is working. I am able to save them but after saving, my combobox cannot find them.So i cannot load them to combobox .Also after saving a preset, when i open the file chooser again, it does not see the previous one. I am able to see them when i use the ordinary file browser app but they are not visible when i try to save another preset within my plugin.
This is the path that i am using.

     file = File::getSpecialLocation(File::userApplicationDataDirectory).getChildFile("MyPlugin");

Is this the correct path that will take me to “On My Ipad” then into MyPlugin?
How do you guys deal with paths in IOS?
I also have a config file. It is invisible but it works. I am using the same path. It is saving it somewhere in ipad, i use the same path to check it for license. It is working but when it comes to presets , combobox cannot find them in that directory.

this is the path for scanning the presets

 Array<File> presetList;
File file =File::getSpecialLocation(File::commonDocumentsDirectory).getChildFile("MyPlugin/Presets/.a").getParentDirectory().getFullPathName();

#if JUCE_IOS
file = 
File::getSpecialLocation(File::userApplicationDataDirectory).getChildFile("MyPlugin");
#endif
//fill presetList array with xml files
file.findChildFiles(presetList, File::findFiles, false, "*.LLpreset");

In the picture there is no a folder but when install my plugin it creates a folder named MyPlugin.

Could you please help me to find the correct paths for the IOS?
Thanks in advance :pray:

Hey,

Did you ever get this solved? I’m looking for the exact same thing.

Kr,

Wim

I don’t remember the thread here. Anyway, you need to add the extension to your plist.

See this custom plist field in the Projucer:

Thank you for replying, it is indeed the userDocumentsDirectory, and you need to set filesharingenabled in Projuicer.