A multiplatform Swift library bringing functional methods and type safety to .plist (Property List) files.
Summary
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
Installation
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.
Documentation
See the online documentation or view it in Xcode’s documentation browser by selecting the Product → Build Documentation menu.
PListKit
A multiplatform Swift library bringing functional methods and type safety to .plist (Property List) files.
Summary
The challenges that Apple’s standard
PropertyListSerialization
presents:PListKit solves these issues by:
PropertyListSerialization
Installation
The library is available as a Swift Package Manager (SPM) package.
To add PListKit to your Xcode project:
https://github.com/orchetect/PListKit
as the URL.Documentation
See the online documentation or view it in Xcode’s documentation browser by selecting the Product → Build Documentation menu.
Resources
Author
Coded by a bunch of 🐹 hamsters in a trenchcoat that calls itself @orchetect.
License
Licensed under the MIT license. See LICENSE for details.
Contributions
Contributions are welcome. Feel free to post an Issue to discuss.
This library was formerly known as OTPList.