Need help with CFPropertyList?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

208 Stars 42 Forks MIT License 224 Commits 0 Opened issues


Read, write and manipulate both binary and XML property lists as defined by apple

Services available


Need anything else?

Contributors list

CFPropertyList implementation class to read, manipulate and write both XML and binary property list files (plist(5)) as defined by Apple. Have a look at CFPropertyList::List for more documentation.


In version 3.0.0 we dropped Ruby 1.8 compatibility. If you are using Ruby 1.8 consider to update Ruby; if you can't upgrade, don't upgrade CFPropertyList.


You could either use ruby gems and install it via

gem install CFPropertyList

or you could clone this repository and place it somewhere in your load path.


require 'cfpropertylist'

If you're using Rails, you can add it into your Gemfile

gem 'CFPropertyList'


## create a arbitrary data structure of basic data types

data = {
  'name' => 'John Doe',
  'missing' => true,
  'last_seen' =>,
  'friends' => ['Jane Doe','Julian Doe'],
  'likes' => {
    'me' => false

create CFPropertyList::List object

plist =

call CFPropertyList.guess() to create corresponding CFType values

plist.value = CFPropertyList.guess(data)

write plist to file"example.plist", CFPropertyList::List::FORMAT_BINARY)

… later, read it again

plist = => "example.plist")
data = CFPropertyList.native_types(plist.value)

Author and license

Author: Christian Kruse (mailto:[email protected])

Copyright: Copyright (c) 2010

License: MIT License

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.