Getting Started: Difference between revisions

From iPhone Development Wiki
(Add Theos Install Script)
(adding some more links; the "Looking at classes" section needs expansion)
Line 38: Line 38:
== Setting up Theos ==
== Setting up Theos ==


Follow this guide to set up your [[Theos]] environment by installing Theos, getting your headers, and creating your first project: [[Theos/Getting Started]]. These links may also be helpful: [http://stackoverflow.com/questions/6118814/is-there-anywhere-where-i-could-start-mobilesubstrate-tweaks-programming/11553722#11553722 guide on Stack Overflow] , [https://github.com/theiostream/theos-ref this Theos documentation by theiostream] , and [https://gist.github.com/ichitaso/3993544 Theos Install Script].
Follow this guide to set up your [[Theos]] environment by installing Theos, getting your headers, and creating your first project: [[Theos/Getting Started]]. These links may also be helpful: [http://stackoverflow.com/questions/6118814/is-there-anywhere-where-i-could-start-mobilesubstrate-tweaks-programming/11553722#11553722 guide on Stack Overflow] , [https://github.com/theiostream/theos-ref this Theos documentation by theiostream], and [https://gist.github.com/ichitaso/3993544 Theos Install Script].


== Finding example projects ==
== Finding example projects ==
Line 53: Line 53:


Using the above code will search GitHub for all files with the extension .xm (because Theos by default creates a Tweak.xm file when creating a new tweak). The example above will result in finding [https://github.com/search?q=extension%3Axm+SBAwayController&ref=cmdform tweaks that reference SBAwayController]. Not all developers use the .xm file extension, but a large number do, and this will help you in finding those examples.
Using the above code will search GitHub for all files with the extension .xm (because Theos by default creates a Tweak.xm file when creating a new tweak). The example above will result in finding [https://github.com/search?q=extension%3Axm+SBAwayController&ref=cmdform tweaks that reference SBAwayController]. Not all developers use the .xm file extension, but a large number do, and this will help you in finding those examples.
== Looking at classes ==
* [https://code.google.com/p/networkpx/wiki/class_dump_z class_dump_z]
* [http://stevenygard.com/projects/class-dump/ class-dump]
* [https://github.com/nst/iOS-Runtime-Headers iOS-Runtime-Headers]
* [https://github.com/rpetrich/iphoneheaders/ iphoneheaders]


== Prototyping a tweak ==
== Prototyping a tweak ==
Line 73: Line 80:


For questions about the Cydia Store system for paid packages, you can ask your favorite repository manager; they've helped many developers figure this out.
For questions about the Cydia Store system for paid packages, you can ask your favorite repository manager; they've helped many developers figure this out.
== Some guides on other sites ==
* [http://iky1e.tumblr.com/post/9561218739/jailbroken-development-starter-pack Jailbroken Development : Starter Pack]
* [http://www.ijailbreak.com/cydia/cydia-tweak-mobilesubstrate-programming-guide/ A Beginners Guide To Getting Started In Cydia Tweak Development]
* [http://brandontreb.com/beginning-jailbroken-ios-development-getting-the-tools Beginning Jailbroken iOS Development – Getting The Tools] + [http://brandontreb.com/beginning-jailbroken-ios-development-building-and-deployment Building And Deployment]

Revision as of 00:13, 7 September 2013

Learning Objective-C

Here is a list of some resources for learning Objective-C and iOS programming:

Title Author Link
Programming in Objective-C Stephen G. Kochan Amazon
Objective-C Programming: The Big Nerd Ranch Guide Aaron Hillegass Amazon
Apple's Developer Documentation Apple Apple
The Core iOS 6 Developer's Cookbook Erica Sadun Amazon
iOS 6 Programming Cookbook Vandad Nahavandipoor Amazon
The New Boston Video Tutorials Videos by Bucky The New Boston

Also: unofficial iPhone Dev SDK forum and Stack Overflow.

Setting up Theos

Follow this guide to set up your Theos environment by installing Theos, getting your headers, and creating your first project: Theos/Getting Started. These links may also be helpful: guide on Stack Overflow , this Theos documentation by theiostream, and Theos Install Script.

Finding example projects

Here is a list of just a few of the many open source projects that can be used as examples: Open Source Projects.

Not finding what you are looking for? Try searching through GitHub for iOS Tweaks with a simple trick, "extension:xm".

Example:

extension:xm SBAwayController

Using the above code will search GitHub for all files with the extension .xm (because Theos by default creates a Tweak.xm file when creating a new tweak). The example above will result in finding tweaks that reference SBAwayController. Not all developers use the .xm file extension, but a large number do, and this will help you in finding those examples.

Looking at classes

Prototyping a tweak

You can use Cycript to explore running processes. For a demo, see Adam Bell's JailbreakCon talk (example code and slides).

Debugging

You can use gdb. See pod2g's instructions for getting gdb running on your device. Note that the path beginning with /Developer is out of date; it should begin with /Applications/Xcode.app/Contents/Developer instead.

Publishing your package in a default repository

When you've completed a project (including testing), you may want to submit it to one of Cydia's default repositories for distribution. These are your options, with links to information about submitting:

If you aren't sure which to pick, look up what your favorite developers use, or ask other developers for suggestions. If you have questions, email is usually the best way to get in contact with repository managers.

For questions about the Cydia Store system for paid packages, you can ask your favorite repository manager; they've helped many developers figure this out.

Some guides on other sites