A multiplatform Swift library bringing functional methods and type safety to .plist (Property List) files.
The challenges that Apple's standard PropertyListSerialization
presents:
- Lack of type safety which allows the inadvertent injection of incompatible value types, which can lead to unexpected errors when saving a plist file later on, and are difficult to diagnose
- Root-level dictionary access only, making traversal of nested dictionaries very cumbersome
- Deals in NS value types which is not very Swifty and requires extra boilerplate at every interaction
PListKit solves these issues by:
- Acting as a safe and convenient wrapper for
PropertyListSerialization
- Providing clean functional syntax for
- easily manipulating nested keys and values in dictionary trees
- loading and saving plist files
- Dealing in native Swift value types for keys and values
- Preventing the inadvertent use of incompatible value types to avoid unexpected errors due to lack of type safety
The library is available as a Swift Package Manager (SPM) package.
To add PListKit to your Xcode project:
- Select File → Swift Packages → Add Package Dependency
- Add package using
https://github.com/orchetect/PListKit
as the URL.
See the online documentation or view it in Xcode's documentation browser by selecting the Product → Build Documentation menu.
Coded by a bunch of 🐹 hamsters in a trenchcoat that calls itself @orchetect.
Licensed under the MIT license. See LICENSE for details.
Contributions are welcome. Feel free to post an Issue to discuss.
This library was formerly known as OTPList.