title: With FireMonkey and its cross-platforms, where should I store my application data?
body: <p>Usually, with Windows, I save my application's data in the user folder (<strong>%appdata%</strong>).</p>
  
  <p>For that, I use the function <code>ExpandEnvironmentStrings</code> which is linked to Windows to get the folder I need, and I store inside a subfolder my <em>inifile</em>.</p>
  
  <p>Is there any best practice to manage that and be compliant with all the supported platforms (Windows 32b, 64b &amp; Mac)?</p>
  
  <hr>
  
  <p>I successfully tested like that:</p>
  
  <pre><code>procedure TfrmMain.SaveSettings;
  var
    fnINI: TFileName;
    ini  : TIniFile;
  begin
    fnINI := IncludeTrailingPathDelimiter(GetHomePath) + IncludeTrailingPathDelimiter(APP_NAME) + ChangeFileExt(APP_NAME, '.ini');
    if ForceDirectories(ExtractFilePath(fnINI)) then
    begin
      ini := TIniFile.Create(fnINI);
      try
        ini.WriteString(INI_CONNECTION, INI_IP, edtIP.Text);
      finally
        ini.Free;
      end;
    end;
  end;
  </code></pre>