juce_PropertiesFile - Application Support folder


#1

I am referencing this text in juce_PropertiesFile.cpp:

    if (osxLibrarySubFolder != "Preferences" && ! osxLibrarySubFolder.startsWith ("Application Support"))
    {
/* The PropertiesFile class always used to put its settings files in "Library/Preferences", but Apple
           have changed their advice, and now stipulate that settings should go in "Library/Application Support".

           Because older apps would be broken by a silent change in this class's behaviour, you must now
           explicitly set the osxLibrarySubFolder value to indicate which path you want to use.

           In newer apps, you should always set this to "Application Support"
           or "Application Support/YourSubFolderName".

           If your app needs to load settings files that were created by older versions of juce and
           you want to maintain backwards-compatibility, then you can set this to "Preferences".
           But.. for better Apple-compliance, the recommended approach would be to write some code that
           finds your old settings files in ~/Library/Preferences, moves them to ~/Library/Application Support,
           and then uses the new path.
        */
        jassertfalse;

I recently had an app rejected from the App Store for using the “Application Suport” folder - their app sandboxing guidelines dictate that we should now use “~/Library/Containers/[my app bundle id]” instead. Could there be an extra check for the “Containers” folder as well as the “Application Support” folder so I don’t have to get rid of this jassertfalse?

This is only relevant for Sandboxed apps


#2

Thanks for reporting.