A CocoaPods plugin that securely stores environment and application keys in the developer's keychain, keeping them out of source control.
CocoaPods Keys is a plugin for CocoaPods that securely manages environment and application keys for iOS and macOS development. It solves the problem of keeping sensitive keys like API tokens out of source control by storing them in the developer's keychain and generating obfuscated code during the build process.
iOS and macOS developers using CocoaPods who need to manage API keys, tokens, or other sensitive configuration data securely across development teams.
Developers choose CocoaPods Keys because it integrates seamlessly with CocoaPods workflows, provides a simple command-line interface for key management, and adds a layer of obfuscation to reduce the risk of key exposure in compiled binaries.
A key value store for storing per-developer environment and application keys
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Stores keys in the OS X keychain instead of source code, reducing accidental exposure and leveraging system security features, as highlighted in the README's security practices.
Runs on every `pod install` or `pod update`, generating obfuscated Objective-C classes automatically, which simplifies workflow and ensures consistency.
Supports environment variables or `.env` files for continuous integration, avoiding keychain dependencies in automated pipelines, as noted in the README.
Works with both Objective-C and Swift projects, including documentation for Swift usage, making it versatile for modern iOS development.
Only compatible with CocoaPods, excluding projects using alternative dependency managers like Swift Package Manager, which limits its adoption.
The obfuscation is basic; the README admits a motivated attacker could extract keys within minutes, making it unsuitable for high-security applications.
Project is in a 'done' state with no new features planned, risking compatibility issues with future CocoaPods updates or ecosystem changes.
Keys cannot contain dashes, requiring manual conversion as per issue #197, which adds complexity and potential errors in configuration.