Nope. As far as I can tell, the method that Fabian supplies devolves to the correct folders (his code results in the root being the bundle, in both cases) but it clearly says you’re not allowed to write to a signed bundle in the Apple docs; the correct folder is the bundle’s container, which should have a folder called “Documents” in it for exactly this case. But the .appex can’t see this. It can in the simulator, but not on the device.
So, basically, despite what Fabian says above, what I’m seeing from the appex in a signed bundle is exactly what Apple says I should see, which is nothing, and I have exactly the permissions Apple says I should have, which is none. I’ll believe I can get to it from the JUCE filesystem when I see working, compiling sample code to that effect running on a device.
In any event, I just used a somewhat more refined version of what I posted above. This:
And this in the constructor:
File result = File::nonexistent;
NSFileManager* fm = [NSFileManager defaultManager];
NSURL *containerURL = [fm containerURLForSecurityApplicationGroupIdentifier:@"group.com.audiodamage.Filterstation2Presets"];
String tmp = ([containerURL.relativeString UTF8String]);
userPresetFolder = startDir;
And setting the .cpp to “compile as Obj-C++” in the folder settings.
Unpleasant, and I have to set that every time I touch ProJucer, of course, but it works.