C ++ Parse Binarny plist

Piszę program w c ++, który będzie musiał analizować listy binarne. Parsowanie XML nie stanowi problemu, więc pomyślałem, że mogę przekonwertować binarny plist na XML, a następnie go przeanalizować. Czy istnieje sposób na zrobienie tego natywnie w c ++? Wiem, że to jabłkoplutil ma taką możliwość, ale wykonywanie jej z poziomu programu wydaje się złą praktyką.

Korzystam z najnowszej wersji OS X (10.9)