Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/theos/orion
Elegant tweak development in pure Swift
https://github.com/theos/orion
dsl ios jailbreak macos objective-c runtime swift swizzling theos
Last synced: 6 days ago
JSON representation
Elegant tweak development in pure Swift
- Host: GitHub
- URL: https://github.com/theos/orion
- Owner: theos
- License: mit
- Created: 2020-08-31T12:02:00.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2024-05-26T19:24:04.000Z (6 months ago)
- Last Synced: 2024-08-03T08:02:37.323Z (3 months ago)
- Topics: dsl, ios, jailbreak, macos, objective-c, runtime, swift, swizzling, theos
- Language: Swift
- Homepage: https://orion.theos.dev
- Size: 9.33 MB
- Stars: 200
- Watchers: 16
- Forks: 14
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
Orion
A DSL for elegant tweak development in Swift.
Theos –
Documentation –
Changelogs –
Get Help –
@theosdev –
IRC## About
Orion is a [DSL](https://en.wikipedia.org/wiki/Domain-specific_language) designed to make it entirely effortless to interact with with Objective-C's dynamic aspects in Swift. The project's primary goal is to enable easy, fun, and versatile jailbreak tweak development in Swift. In some ways, it is to Swift what [Logos](https://github.com/theos/logos) is to Objective-C, but it's simultaneously a lot more than that.
It is possible to use Orion as a regular framework (invoking the preprocessor in a build script), or in a [Theos](https://github.com/theos/theos) tweak (recommended).
Orion _is not_ a framework for hooking Swift code. As of now, Orion only supports hooking Objective-C and C code, however this may change in the future.
For more information, refer to the [documentation](https://orion.theos.dev/getting-started.html).
## Example
The following is a simple tweak which changes the text of all labels to say "hello":
```swift
class MyHook: ClassHook {
func setText(_ text: String) {
orig.setText("hello")
}
}
```## License
See [LICENSE.md](https://github.com/theos/orion/blob/master/LICENSE.md) for licensing information.