Main Page/Developer

From The Apple Wiki

Getting started

New to developing for jailbroken devices? Welcome, it's fun and challenging! Hopefully you already have some experience with Objective-C. You will want to get familiar with Cydia Substrate and Theos, and you can study some Open Source Projects to see how existing tweaks work. See Getting Started and also take a look at Best Practices and Pitfalls. If you're looking for a more thorough and sequential tutorial, take a look at the book iOS App Reverse Engineering and its forum iOSRE.

How to ask for help: There are tags for "jailbreak" [Archived 2023-02-05 at the Wayback Machine], "Cydia" [Archived 2022-10-23 at the Wayback Machine], and "Theos" [Archived 2023-01-30 at the Wayback Machine] on Stack Overflow, a site for programming questions in general; feel free to ask there as well. On Reddit, there's r/jailbreakdevelopers [Archived 2023-03-27 at the Wayback Machine]. For non-development-related troubleshooting questions, try r/jailbreak [Archived 2023-02-09 at the Wayback Machine].

Overview of contents

Frameworks:

Applications:

System directories:

Other parts of iOS:

By iOS Version


Translated articles:


Editing this wiki

  • If you have anything at all to contribute, feel free to do so!

Some ideas for information to contribute:

  • Add more projects to the list of Open Source Projects, or fill out details on that page.
  • Expand Getting Started for new developers - what do they need to know before beginning? How do they set up a development environment on OS X, Windows, and Linux? What are common beginner's mistakes that they should watch out for? How to reverse-engineer parts of iOS for writing tweaks? How to debug with GDB and learn about memory management?
  • Update articles that haven't been significantly edited in a few years, such as Seatbelt and Crack prevention. See Special:AncientPages for a list of articles that haven't been updated recently.
  • Help Cycript explain why Cycript is fun - syntax highlighting, injection, auto-completion, generally exploring around.
  • Make a page that documents a class or framework you're familiar with.
  • If you've developed a library that other developers can use or write addons/plugins/extensions for, make a page that documents your project.
  • Update Xcode with better information about how to build apps for jailbroken devices.
  • Make the homepage more useful! For example, add links to good pages that are hidden/buried deep within the wiki.
  • The following articles are linked from nowhere in the wiki: Special:LonelyPages - you can fix that by linking them somewhere.
  • Browse around the wiki to find pages that might need updating.
  • Write an article that is in demand: Special:WantedPages.
  • Translate an existing article into a non-English language. To do so, make a new page with this name format: Article name/[language code]. Here's the list of language codes. For example: PreferenceLoader/de or Libactivator/sv.

Good Edit Candidates

If you're looking for some articles to work on that don't require a ton of in-depth RE, or are important yet woefully outdated, the following articles are good candidates: