Используя Qt 5.11.1 через homebrew на MacOS 10.13.6, я использую QSettings в своем приложении. Это рабочая программа, которую я сейчас портирую с Linux и Windows на MacOS.
Проблема, с которой я сталкиваюсь в MacOS, заключается в том, что он сохраняет файл в / Users / michaelleonetti / Library / Preferences / com.sonarcloud.Sonarcloud Service.plist , который должен первое выполнение программы.
Если я удаляю файл , иногда он возвращается. Иногда это не так. Если я отредактирую файл plist с помощью Xcode и сохраню его, значений, которые я напишу в "have", не будет.
Я не могу определить рифму или причину, чтобы заставить это работать.
Я создал минимальный пример:
#include <QSettings>
#include <iostream>
int main( int argc, char *argv[] )
{
{ // Scope
QSettings settings( QSettings::NativeFormat, QSettings::UserScope, "My Application Company", "My Application" );
if( settings.contains( "have" ) )
std::cout << "We have: " << settings.value( "have" ).toString().toStdString() << std::endl;
else
std::cout << "You do not have" << std::endl;
settings.setValue( "version", 10 );
std::cout << "Path is: " << settings.fileName().toStdString() << std::endl;
}
return( EXIT_SUCCESS );
}
Выход:
$ ./src/reproduce
You do not have
Path is: /Users/michaelleonetti/Library/Preferences/com.my-application-company.My Application.plist
Проверка файла
$ cat "/Users/michaelleonetti/Library/Preferences/com.my-application-company.My Application.plist"
cat: /Users/michaelleonetti/Library/Preferences/com.my-application-company.My Application.plist: No such file or directory
Как мне решить эту проблему?