Next Steps After Getting Started: Difference between revisions

From iPhone Development Wiki
(also add your own ideas for tutorials)
(adding links)
Line 1: Line 1:
Let's say you've figured out how to [[Theos/Setup|set up Theos]], you know enough Objective-C to fool around, you know a little about how to use [[MobileSubstrate|Cydia Substrate]], and basically you've read all the beginner tutorials - what do you read next to learn more about jailbroken development as you experiment with building your own project? We should have a set of "next steps" tutorials for you! These ones haven't been written yet, but it would be pretty cool for somebody to write them...maybe you? Anyone can start a page and begin writing some explanations, or you can just start filling out the sections below with more information. (Also, if you have an idea for a tutorial that you would like to see, feel free to add it to this list - it might inspire somebody to write an explanation of that thing you want to learn about.)
Let's say you've figured out how to [[Theos/Setup|set up Theos]], you know enough Objective-C to fool around, you know a little about how to use [[MobileSubstrate|Cydia Substrate]], and basically you've read all the beginner tutorials - what do you read next to learn more about jailbroken development as you experiment with building your own project? We should have a set of "next steps" tutorials for you!
 
These ones haven't been written yet, but it would be pretty cool for somebody to write them...maybe you? Anyone can start a page and begin writing some explanations, or you can just start filling out the sections below with more information. (Also, if you have an idea for a tutorial that you would like to see, feel free to add it to this list - it might inspire somebody to write an explanation of that thing you want to learn about.)


== Using Development Tools ==  
== Using Development Tools ==  
Line 6: Line 8:
* assumes the reader has basic Cycript and Objective-C knowledge
* assumes the reader has basic Cycript and Objective-C knowledge
* takes the reader on a journey through AVSystemController's methods using cycript  
* takes the reader on a journey through AVSystemController's methods using cycript  
* documents the though process (ex. "-getVolume:(float*)arg1 forCategory:(id)arg2 indicates that there are different categories of volumes and they each have their own values")
* documents the thought process (ex. "-getVolume:(float*)arg1 forCategory:(id)arg2 indicates that there are different categories of volumes and they each have their own values")
* ends with using the information learned to make a [http://github.com/Nexuist/vol really simple command line utility]
* ends with using the information learned to make a [http://github.com/Nexuist/vol really simple command line utility]


===Dynamic Method Hooking With Cycript===
===Dynamic Method Hooking With Cycript===
* assumes the reader has basic Cycript and Objective-C knowledge
* assumes the reader has basic Cycript and Objective-C knowledge
* showcases cycript's ability to hook methods  
* showcases Cycript's ability to hook methods  
* hook some example methods to display benefits of dynamic hooking
* hook some example methods to display benefits of dynamic hooking


Line 20: Line 22:


===Dissecting App Store Apps===
===Dissecting App Store Apps===
* shows how to dump headers for an app binary
* shows how to dump headers for an app binary (see also [[Reverse Engineering Tools]])


== Integrating with Third Party Frameworks and Libraries ==
== Integrating with Third Party Frameworks and Libraries ==


===Building Tweak Settings with PreferenceLoader===
===Building Tweak Settings with [[PreferenceLoader]]===
* goes through the process of building simple tweak preferences that are shown in Settings
* goes through the process of building simple tweak preferences that are shown in Settings
* shows the correct way to read/write to those settings in your tweak code
* shows the correct way to read/write to those settings in your tweak code
* also shows how to use popular third party additions such as AppList / libcolorpicker / Activator
* also shows how to use popular third party additions such as [[AppList]] / [[libcolorpicker]] / [[libactivator|Activator]]


===Your First Flipswitch===
===Your First Flipswitch===
* explains the idea behind the Flipswitch framework
* explains the idea behind the [[Flipswitch]] framework
* goes through the different methods / objects you'll probably be using
* goes through the different methods / objects you'll probably be using
* shows how to build a simple flipswitch (ex. a simple flashlight toggle)
* shows how to build a simple flipswitch (ex. a simple flashlight toggle)


===Integrating Your Tweak With Activator===
===Integrating Your Tweak With Activator===
* goes through the Activator library
* goes through the [[libactivator|Activator]] library
* dos / don't of the Activator API
* dos / don't of the Activator API
* demo a simple Activator event (ex. show an alert)
* demo a simple Activator event (ex. show an alert)
* demo a simple Activator listener (ex. got a notification from a specific app)
* demo a simple Activator listener (ex. got a notification from a specific app)

Revision as of 19:05, 6 January 2015

Let's say you've figured out how to set up Theos, you know enough Objective-C to fool around, you know a little about how to use Cydia Substrate, and basically you've read all the beginner tutorials - what do you read next to learn more about jailbroken development as you experiment with building your own project? We should have a set of "next steps" tutorials for you!

These ones haven't been written yet, but it would be pretty cool for somebody to write them...maybe you? Anyone can start a page and begin writing some explanations, or you can just start filling out the sections below with more information. (Also, if you have an idea for a tutorial that you would like to see, feel free to add it to this list - it might inspire somebody to write an explanation of that thing you want to learn about.)

Using Development Tools

Changing System Volume with AVSystemController and Cycript

  • assumes the reader has basic Cycript and Objective-C knowledge
  • takes the reader on a journey through AVSystemController's methods using cycript
  • documents the thought process (ex. "-getVolume:(float*)arg1 forCategory:(id)arg2 indicates that there are different categories of volumes and they each have their own values")
  • ends with using the information learned to make a really simple command line utility

Dynamic Method Hooking With Cycript

  • assumes the reader has basic Cycript and Objective-C knowledge
  • showcases Cycript's ability to hook methods
  • hook some example methods to display benefits of dynamic hooking

What's %ctor good for?

  • explains what %ctor is and how to use it
  • show some example situations where it might be useful
  • show situations where %ctor is NOT a good idea

Dissecting App Store Apps

Integrating with Third Party Frameworks and Libraries

Building Tweak Settings with PreferenceLoader

  • goes through the process of building simple tweak preferences that are shown in Settings
  • shows the correct way to read/write to those settings in your tweak code
  • also shows how to use popular third party additions such as AppList / libcolorpicker / Activator

Your First Flipswitch

  • explains the idea behind the Flipswitch framework
  • goes through the different methods / objects you'll probably be using
  • shows how to build a simple flipswitch (ex. a simple flashlight toggle)

Integrating Your Tweak With Activator

  • goes through the Activator library
  • dos / don't of the Activator API
  • demo a simple Activator event (ex. show an alert)
  • demo a simple Activator listener (ex. got a notification from a specific app)