我相信你正在使用QSettings保存应用程序设置。您的代码可能看起来是这样的:
QApplication app;
app.setOrganizationDomain("nourayn.com");
app.setApplicationName("AlMosaly");
QSettings settings; // this creates a .plist file under ~/Library/Preferences
// which is non-MacAppStore-friendly
相反,你可以明确指定的文件名创建QSettings:
app.setOrganizationDomain("nourayn.com");
app.setApplicationName("AlMosaly");
QSettings settings(yourAppDataFolder+"/settings.plist", QSettings::NativeFormat);
// this writes to the file you specified
如果您在多个地方在你的应用程序中使用QSettings,这样做可能会缓解东西一点点:
// in main.cpp
app.setProperty("SettingsFileName", yourAppDataFolder+"/settings.plist");
// in someotherfile.cpp
QString settingsFileName = qApp->property("SettingsFileName").toString();
QSettings settings(settingsFileName, QSettings::NativeFormat);
此外,如果您在〜/库/(存储Qt的全局设置)一个com.trolltech.plist文件,你可能需要移动到的Qt 4.8.1。这里更多的信息: http://qt-project.org/doc/qt-4.8/qsettings.html#changing-the-location-of-global-qt-settings-on-mac-os-x
我在很多独立的地方使用QSettings,我可以使用一个Api调用来设置设置位置,而不是在QSettings构造函数中设置每个QSettings对象我创造? –
编辑我的答案来解决这个问题。你也可以检查QSettings :: setPath()作为@jdi建议,但我没有尝试过使用它。 – roop