(adding info about submitting packages) |
(adding more links + mention of cycript) |
||
Line 1: | Line 1: | ||
== Learning | == Learning Objective-C == | ||
Here is a list of some | Here is a list of some resources for learning Objective-C and iOS programming: | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 17: | Line 17: | ||
| [http://www.amazon.com/Objective-C-Programming-Ranch-Guide-Guides/dp/0321706285 Amazon] | | [http://www.amazon.com/Objective-C-Programming-Ranch-Guide-Guides/dp/0321706285 Amazon] | ||
|- | |- | ||
| Apple's Developer | | Apple's Developer Documentation | ||
| Apple | | Apple | ||
| [https://developer.apple.com/xcode/ Apple] | | [https://developer.apple.com/xcode/ Apple] | ||
Line 33: | Line 33: | ||
| [http://thenewboston.org/list.php?cat=33 The New Boston] | | [http://thenewboston.org/list.php?cat=33 The New Boston] | ||
|} | |} | ||
Also: [http://iphonedevsdk.com/ unofficial iPhone Dev SDK forum] and [http://stackoverflow.com/questions/tagged/ios Stack Overflow]. | |||
== Setting up Theos == | == Setting up Theos == | ||
Line 51: | 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 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 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. | ||
== Prototyping a tweak == | |||
You can use [[Cycript]] to explore running processes. For a demo, see [http://www.youtube.com/watch?v=Ox09rWJTuCA&feature=youtu.be Adam Bell's JailbreakCon talk] ([https://github.com/b3ll/JailbreakCon2013 example code and slides]). | |||
== Publishing your package in a default repository == | == Publishing your package in a default repository == |
Revision as of 19:50, 3 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.
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.
Prototyping a tweak
You can use Cycript to explore running processes. For a demo, see Adam Bell's JailbreakCon talk (example code and slides).
Publishing your package in a default repository
When you've completed a project (including testing), you may want to submit it to a default repository 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.