More predominant, PyObjC or PlistBuddy

plistpythonxcode

I'm writing a script that will update an Xcode project's Info.plist. This script will be distributed to clients. In order to do this, I'd like to know what tools are more appropriate if I need to assume information about someone's system.

What I can assume:

  • They are on a Mac that can build iOS apps for iOS 6+

I find myself at a fork in the road, I can write the script that calls a PyObc methods in order to update the plist file. Or I can use PlistBuddy to do the same thing. I'm wondering if anyone has any advice to which would be a safer assumption?

Best Answer

Since /usr/libexec/PlistBuddy ships with OS X and doesn't need any developer tools or third party installation, you should assume that tool is ubiquitous and develop against that if at all possible.

I actually prefer plutil to convert things to XML or JSON and then use a script to make whatever changes are necessary, but your options are not bad ones to use either.