macos — редактирование plist из кода C ++

Итак, у меня есть код, написанный на с ++. Я пытаюсь получить предпочтение пользователя через приложение. В зависимости от отправленного значения мне нужно обновить ключ в plist. Я не могу найти способ сделать это в C ++. Какие-либо предложения?

0

Решение

Вы можете редактировать plist, выполнив команду plistbuddy с помощью системного вызова (). Пример добавления пары ключ-значение в файл plist с помощью system () приведен ниже.

system("/usr/libexec/PlistBuddy -c \"Add :ASSET_ID string '1'\" \"/Library/Application Support/MyApp/ABC.plist\"");

Ниже приведена команда plistbuddy для системного вызова.

/usr/libexec/PlistBuddy -c "Add :ASSET_ID string '1'" "/Library/Application Support/MyApp/ABC.plist"

Более подробную информацию о плистбуде здесь — https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man8/PlistBuddy.8.html

0

Другие решения

Я предполагаю несколько вещей здесь, потому что из ваших вопросов не совсем ясно, с какой настройкой вы работаете. Я предполагаю, что у вас есть приложение-какао с частью кода, написанного на c ++ (возможно, на основе какой-либо сторонней библиотеки GUI, например, FLTK, которая скрывает часть obj-C?).

Во всяком случае, на мой взгляд, лучший и самый безопасный способ сделать это — написать небольшие обертки на языке c ++ для кода target-c / cocoa в файле .mm. Затем вы можете использовать надлежащие средства какао, чтобы надежно определять местонахождение и манипулировать списком (вы, вероятно, хотите заглянуть внутрь NSBundle а также NSPropertyListSerialization в твоем случае).

0

По вопросам рекламы [email protected]