{"id":26286601,"url":"https://github.com/nightwinddev/tweak-tutorial","last_synced_at":"2025-04-07T13:04:08.556Z","repository":{"id":76597378,"uuid":"418706838","full_name":"NightwindDev/Tweak-Tutorial","owner":"NightwindDev","description":"A tweak tutorial for beginners to the iOS jailbreak developer community!","archived":false,"fork":false,"pushed_at":"2025-03-29T19:42:03.000Z","size":1450,"stargazers_count":211,"open_issues_count":0,"forks_count":21,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-03-29T20:23:07.731Z","etag":null,"topics":["jailbreak","jailbreak-tweak","objective-c","programming"],"latest_commit_sha":null,"homepage":"","language":"Logos","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NightwindDev.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-10-18T23:56:32.000Z","updated_at":"2025-03-29T19:42:06.000Z","dependencies_parsed_at":"2023-03-11T22:38:19.740Z","dependency_job_id":"0c9ca972-4264-4c6a-958c-05de5cbc7571","html_url":"https://github.com/NightwindDev/Tweak-Tutorial","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NightwindDev%2FTweak-Tutorial","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NightwindDev%2FTweak-Tutorial/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NightwindDev%2FTweak-Tutorial/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NightwindDev%2FTweak-Tutorial/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NightwindDev","download_url":"https://codeload.github.com/NightwindDev/Tweak-Tutorial/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247657275,"owners_count":20974344,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["jailbreak","jailbreak-tweak","objective-c","programming"],"created_at":"2025-03-14T20:32:31.790Z","updated_at":"2025-04-07T13:04:08.544Z","avatar_url":"https://github.com/NightwindDev.png","language":"Logos","readme":"\u003c!-- markdownlint-disable MD001 MD026 --\u003e\n\n# How Do You Create a Tweak?\n\nStarting out can certainly be a challenge, but if you put your mind to it, you'll be able to grasp the concepts.\nThis tutorial tries to be as comprehensive as possible to explain how tweaks are made.\n\n---\n\n### Requirements\n\n- Basic [Object-Orientated Programming (OOP)](https://en.wikipedia.org/wiki/Object-oriented_programming) knowledge.\n- A text editor of your choice.\n- A [Theos](https://theos.dev) installation.\n- Either a jailbroken device or the Xcode Simulator on macOS paired with [Simject](https://github.com/akemin-dayo/simject).\n\n---\n\n### Table of Contents\n\n- [[ 0 ] Starting Off](./starting_off.md)\n- [[ 1 ] Exploring Files](./explore_files.md)\n- [[ 2 ] Syntax](./syntax.md)\n- [[ 3 ] Views](./views.md)\n- [[ 4 ] Headers](./headers.md)\n- [[ 5 ] Preference Bundles](./preference_bundles.md)\n- [[ 6 ] Preference Bundles cont.](./preference_bundles_cont.md)\n- [[ 7 ] Using `MSHookIvar`](./mshookivar.md)\n- [[ 8 ] Avoiding `layoutSubviews`](./no_layoutsubviews.md)\n- [[ 9 ] Utilizing `FLEX`](./flex_explained.md)\n- [[ 10 ] Rootless](./rootless.md)\n- [[ 11 ] Old ABI](./oldabi.md)\n- [[ 12 ] `%hookf`](./hookf.md)\n- [[ 13 ] `%subclass` Wrapper](./subclass_wrapper.md)\n- [[ 14 ] Substrate Tweaks](./substrate_tweaks.md)\n- [[ 15 ] Respringless Tweaks](./respringless_tweaks.md)\n- [[ 16 ] Crashlogs](./crashlogs.md)\n- [[ 17 ] Challenges](./challenges.md)\n\nFor any developers that want to contribute to this tutorial, feel free to do so!\n\nJust make a pull request with the changes that you want to add.\n\n---\n\n### Credits\n- [@Luki120](https://github.com/Luki120) for helping out with some of the issues regarding Substrate + important \u0026 valuable contributions.\n- [@L1ghtmann](https://github.com/L1ghtmann) for helping out with some issues regarding the tutorial as well as helping make the tutorial more beginner friendly.\n\n---\n\n### Support\n\n- [iOSJBN Discord Server](https://discord.gg/K3wGBBhPqp)\n- [r/jailbreakdevelopers](https://reddit.com/r/jailbreakdevelopers)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnightwinddev%2Ftweak-tutorial","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnightwinddev%2Ftweak-tutorial","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnightwinddev%2Ftweak-tutorial/lists"}