A lightweight Swift wrapper for Objective-C Runtime that simplifies method swizzling, hooking, and runtime introspection.
Lumos is a lightweight Swift wrapper around the Objective-C Runtime that simplifies runtime manipulation and introspection. It provides an intuitive API for tasks like method swizzling, hooking, and exploring registered classes, reducing the boilerplate required for direct Objective-C Runtime calls. The library makes it easy to modify runtime behavior, such as injecting code before or after method executions, in a Swift-friendly manner.
iOS and macOS developers working with Swift who need to perform runtime introspection, debugging, or behavior modification, such as those building frameworks, testing tools, or dynamic feature systems.
Developers choose Lumos because it dramatically simplifies complex Objective-C Runtime operations with a clean, Swift-native API, reducing error-prone boilerplate and making runtime exploration accessible without deep C-level expertise.
💡 A light wrapper around Objective-C Runtime
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Abstracts verbose C functions like objc_getClassList into intuitive Swift methods, such as Lumos.getAllClasses(), reducing boilerplate code significantly.
Provides straightforward APIs for method hooking (prepend, append, replace) and swizzling (swapImplementation), enabling runtime behavior modification with minimal code.
Allows exploration of runtime elements like registered classes, hierarchies, and protocols with simple calls, such as getClassHierarchy() for debugging and analysis.
The README admits 'the code itself is the documentation,' leading to a steep learning curve for advanced features and limited guidance.
Only works with classes using the Objective-C Runtime, making it ineffective for pure Swift projects or newer Swift-only frameworks like SwiftUI.
Manipulating methods at runtime can introduce hard-to-debug crashes or undefined behavior, with Lumos offering few built-in safety mechanisms.