Read, write and manipulate both binary and XML property lists as defined by apple
Ruby Objective-C
Pull request Compare This branch is 1 commit ahead, 95 commits behind ckruse:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


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.

== Installation

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.

== Example
  require '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::    Christian Kruse (
Copyright:: Copyright (c) 2010
License::   MIT License