我有一个我提交给Apple Mac App Store的Qt应用程序.写入〜/ Library/Preferences/com.mycompany.myapp已被拒绝
这是我收到的消息:
2.30
The application accesses the following location(s):
'~/Library/Preferences/com.nourayn.AlMosaly.plist'
The application may be
* creating files
* writing files
* opening files for Read/Write access (instead of Read-Only access)
in the above location(s).
Run Code Online (Sandbox Code Playgroud)
如何解决这个问题?
我假设您正在使用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
Run Code Online (Sandbox Code Playgroud)
相反,您可以使用明确指定的文件名创建QSettings:
app.setOrganizationDomain("nourayn.com");
app.setApplicationName("AlMosaly");
QSettings settings(yourAppDataFolder+"/settings.plist", QSettings::NativeFormat);
// this writes to the file you specified
Run Code Online (Sandbox Code Playgroud)
如果您在应用中的多个位置使用QSettings,这样做可能会使事情变得轻松:
// in main.cpp
app.setProperty("SettingsFileName", yourAppDataFolder+"/settings.plist");
// in someotherfile.cpp
QString settingsFileName = qApp->property("SettingsFileName").toString();
QSettings settings(settingsFileName, QSettings::NativeFormat);
Run Code Online (Sandbox Code Playgroud)
此外,如果您在〜/ Library /(存储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
| 归档时间: |
|
| 查看次数: |
1681 次 |
| 最近记录: |