我相信你正在使用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