2014-12-17 3 views
0

그래서 나는 C++로 작성된 코드를 가지고 있습니다. 응용 프로그램을 통해 사용자의 선호도를 얻으려고합니다. 전송 된 값에 따라 plist에서 키를 업데이트해야합니다. C++에서 그렇게 할 수있는 방법이 없습니다. 어떤 제안?C++ 코드에서 plist 편집

답변

0

system() 호출을 사용하여 plistbuddy 명령을 실행하여 plist를 편집 할 수 있습니다. system()을 사용하여 plist 파일에 키 값 쌍을 추가하는 예제는 아래와 같습니다.

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

다음은 시스템 호출에 제공된 plistbuddy 명령입니다. 여기 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 부분을 숨 깁니다) 기반).

어쨌든 이런 종류의 일을하는 가장 안전하고 안전한 방법은 .mm 파일의 objective-c/cocoa 코드 용 작은 C++ 래퍼를 작성하는 것입니다. 그런 다음 적절한 코코아 설비를 사용하여 plist를 찾아서 조작하십시오 (귀하의 경우에는 NSBundleNSPropertyListSerialization을보고 싶을 것입니다).