Main Page

From iPhone Development Wiki
Jump to: navigation, search

About this wiki

The sum of all human[1] knowledge about jailbroken iOS development.

What is this wiki for?

For iOS 7, we're working on these new articles: Updating extensions for iOS 7, Debugging on iOS 7, Downgrading iPhone 4 from iOS 7, BiometricKit.framework, TouchID, UIBackdropView, AVFlashlight, SBAppSliderController.

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 (formerly called MobileSubstrate) 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 MobileSubstrate Pitfalls.

How to ask for help: You can ask questions in the IRC channel #iphonedev on irc.saurik.com (where a bunch of developers hang out). IRC is an old-school chat system; if you don't already know how to use it, the IRC page has details for you. There are also tags for "jailbreak", "Cydia", and "Theos" on Stack Overflow, a site for programming questions in general; feel free to ask there as well. (If you want to help answer questions, following @JailbreakDevQs might be useful.) For non-development-related troubleshooting questions, try JailbreakQA or /r/jailbreak.

Overview of contents

What are you looking for?

Translated articles:


Editing this wiki

  • If you have anything at all to contribute, feel free to do so!
  • An account is required to edit pages, but everyone is welcome to make an account. If you have trouble with the account creation process, please ask in #iphonedev on irc.saurik.com for help (see IRC).

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?
  • 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 (or a tweak people can write addons/plugins for) that other developers can use, 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.
  • Check out the most popular pages and see if they need updating: Special:PopularPages.
  • Write an article that is in demand: Special:WantedPages.
  • Translate an existing article into a non-English language. Check out the list at Special:PopularPages for ideas about high-priority articles to translate, and then 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.

  1. We'll make an exception for lawyers; they may submit too. Cf. http://wiki.creativecommons.org/Frequently_Asked_Questions#How_does_a_Creative_Commons_license_operate.3F: "Creative Commons licenses are expressed in three different formats: the Commons Deed (human-readable code), the Legal Code (lawyer-readable code); and the metadata (machine readable code)."