https://iphonedev.wiki/api.php?action=feedcontributions&user=Gertab&feedformat=atom
iPhone Development Wiki - User contributions [en]
2024-03-29T06:00:10Z
User contributions
MediaWiki 1.39.6
https://iphonedev.wiki/index.php?title=Active_Developers&diff=4044
Active Developers
2015-09-12T16:03:00Z
<p>Gertab: </p>
<hr />
<div>''Feel free to add more people to this list.''<br />
<br />
Tweak developers who have created a tweak of their own, and updated or released a tweak since evasi0n7 (7.0). There is also [http://www.reddit.com/r/jailbreak/wiki/twitter a list on the /r/jailbreak wiki].<br />
<br />
{| class="wikitable"<br />
! name / handle !! Twitter handle !! Github profile !! Recent tweaks<br />
|-<br />
| _Matchstic (Matt Clarke) || [https://twitter.com/_Matchstic @_Matchstic] || - || Convergance<br />
|-<br />
| _mxms (Maximus) || - || - || -<br />
|-<br />
| aarzee (Carlos Liam) || [https://twitter.com/carlosaarzee @carlosaarzee] || https://github.com/aarzee || Contractor<br />
|-<br />
| ac3xx (James Long) || [https://twitter.com/ac3xx @ac3xx] || https://github.com/ac3xx || -<br />
|-<br />
| Adolfoi_ || - || - || -<br />
|-<br />
| Adrian Granados || - || - || -<br />
|-<br />
| Aehmlo (Aehmlo Lxaitn) || [https://twitter.com/aehmlo @Aehmlo] || https://github.com/Aehmlo || Badger 7, PowerDown Enhancer 2<br />
|-<br />
| alexzielenski (Alex Zielenski) || [https://twitter.com/alexzielenski @alexzielenski] || https://github.com/alexzielenski || Zeppelin, ThemeEngine, Mousecape, artFileTool, sartFileTool, TinyBar<br />
|-<br />
| Alltim3h4ckers || - || - || -<br />
|-<br />
| ashikase (Lance Fetters) || [https://twitter.com/ashikase @ashikase] || https://github.com/ashikase || CrashReporter<br />
|-<br />
| b3ll (Adam Bell) || [https://twitter.com/b3ll @b3ll] || https://github.com/b3ll || -<br />
|-<br />
| Bailey Seymour || [http://twitter.com/baileyseymour_ @baileyseymour_] || https://github.com/s0ulp1xel || AppDye, UIColors<br />
|-<br />
| bd452 (Bryce Dougherty) || [https://twitter.com/bd452 @bd452] || https://github.com/bd452 || -<br />
|-<br />
| ben_gerard (Ben Gerard) || - || - || -<br />
|-<br />
| bensge (Benno Kraus) || [https://twitter.com/bensge @bensge] || https://github.com/bensge || -<br />
|-<br />
| Brogan Miner || [https://twitter.com/BroganMinerDev @BroganMinerDev] || https://github.com/broha22 || -<br />
|-<br />
| Callum Ryan || - || - || -<br />
|-<br />
| Friggog (Charlie Hewitt) || [https://twitter.com/Friggog @Friggog] || https://github.com/Friggog || -<br />
|-<br />
| CoolStar || [https://twitter.com/coolstarorg @coolstarorg] || https://github.com/coolstar || -<br />
|-<br />
| Cykey (David Murray) || [http://twitter.com/icykey @iCykey] || https://github.com/cykey || Smart Search<br />
|-<br />
| Daniel Turner || - || - || -<br />
|-<br />
| DoK (Salvatore Ansani) || [https://twitter.com/DoK @DoK] || https://github.com/ansani || KiK Camera Sender / Shot From Camera<br />
|-<br />
| Elias Limneos || [https://twitter.com/limneos @limneos] || https://github.com/limneos || -<br />
|-<br />
| Evan Swick || [http://twitter.com/e_swick @e_swick] || https://github.com/eswick || OS Experience, Harbor<br />
|-<br />
| evilgoldfish (Evan) || [https://twitter.com/evilgoldfish01 @evilgoldfish01] || https://github.com/evilgoldfish || -<br />
|-<br />
| EvilPenguin (James Emrich) || [https://twitter.com/EvilPenguin_ @EvilPenguin_] || https://github.com/EvilPenguin || -<br />
|-<br />
| expr (Fionn Kelleher) || - || - || -<br />
|-<br />
| F0u4d || - || - || -<br />
|-<br />
| FilippoBiga (Filippo Bigarella) || - || - || -<br />
|-<br />
| flux (Aditya K.) || - || - || -<br />
|-<br />
| fr0st (Guillermo Morán) || - || - || -<br />
|-<br />
| freemanrepo (Majd Alfhaily) || - || - || -<br />
|-<br />
| iKyle (Kyle Howells) || [http://twitter.com/freerunnering @freerunnering] || https://github.com/freerunnering || SwipeSelection, Emblem, MountainCenter<br />
|-<br />
| Frostbitee08 (Rocco Del Priore) || - || - || -<br />
|-<br />
| Gabriele Filipponi || - || - || -<br />
|-<br />
| gertab || - || - || CallShortcut<br />
|-<br />
| GreenPaperClip (jonathan yazinski) || - || - || -<br />
|-<br />
| Haifisch (Dylan Laws) || [http://twitter.com/0x8badfl00d @0x8badfl00d] || https://github.com/Haifisch || RePower, SnowBoard<br />
|-<br />
| iakd || - || - || -<br />
|-<br />
| IAmOrion || - || - || -<br />
|-<br />
| Ian Burns (ianb821) || [https://twitter.com/ianb821 @ianb821] || https://github.com/ianb821 || QRConversation, AlternateControls, MessageHeads, Vertex, GuestMode<br />
|-<br />
| ichitaso || [https://twitter.com/ichitaso @ichitaso] || https://github.com/ichitaso || -<br />
|-<br />
| ilendemli (Muhammet Ilendemli) || - || - || -<br />
|-<br />
|-<br />
| iMokhles (Mokhlas Hussein) || [http://twitter.com/imokhles @iMokhles] || https://github.com/iMokhles || WAEnhancer, Rendarya, VBEnhancer, PHEnhancer<br />
|-<br />
| iNasser (Nasser Aldeen) || [http://twitter.com/v000000000 @v000000000] || https://github.com/iNasser0 || Predix, DockColor, iDevice Wise, Instant Compose<br />
|-<br />
| iNeal || - || - || -<br />
|-<br />
| insanj (Julian Weiss) || - || - || -<br />
|-<br />
| iOSMarvin || - || - || -<br />
|-<br />
| its_not_herpes (Ethan Arbuckle) || - || - || -<br />
|-<br />
| Ivano Bilenchi (Exile.90) || [https://twitter.com/softhardw @SoftHardW] || https://github.com/Exile90 || iCleaner, iCleaner Pro<br />
|-<br />
| J_W97 (Jack Willis) || - || - || -<br />
|-<br />
| Jailpod || - || - || -<br />
|-<br />
| Jeepston || - || - || -<br />
|-<br />
| Jerry En || - || - || -<br />
|-<br />
| Jontelang (Jonathan Winger-Lang) || - || - || -<br />
|-<br />
| jzplusplus (Jay Zuerndorfer) || - || - || -<br />
|-<br />
| Kinan Saeb || [https://twitter.com/Kinan_iOS @Kinan_iOS] || - || Youtube Essentials<br />
|-<br />
| Majd Alfhaily || - || - || -<br />
|-<br />
| Marvin Schwalzik || - || - || -<br />
|-<br />
| max_katzmann (Max Katzmann) || - || - || -<br />
|-<br />
| merdok || [https://twitter.com/merdok_dev @merdok_dev] || - || UnlockSound, Speak Notification, HUD Customizer, Badgomizer, Wake Info 2<br />
|-<br />
| MichaelSP1991 (Michael Poole) || - || - || -<br />
|-<br />
| ming9010 || - || - || -<br />
|-<br />
| MPow (ManzoPower) || - || - || -<br />
|-<br />
| Noeliel ||[https://twitter.com/NoelielDev @NoelielDev] || - || Centered, QuickPass, StatusPeek, vHome<br />
|-<br />
| NoInfo07(Nathan Parker) ||[https://twitter.com/Nathan_Parker_ @Nathan_Parker_] || - || CustomMessages<br />
|-<br />
| openro0t (Riley Durant) || - || - || -<br />
|-<br />
| Optimo || - || - || -<br />
|-<br />
| phillipten (Phillip Tennen) || [https://twitter.com/phillipten @phillipten] || https://github.com/Codyd51 || Acute, Hermes, CamText<br />
|-<br />
| pimskeks (Nikias Bassen) || - || - || -<br />
|-<br />
| pod2g || - || - || -<br />
|-<br />
| PoomSmart (Thatchapon Unprasert) || [https://twitter.com/PoomSmart @PoomSmart] || https://github.com/PoomSmart || -<br />
|-<br />
| qwertyoruiop (Luca Todesco) || - || - || -<br />
|-<br />
| r_idn (RiDan) || - || - || -<br />
|-<br />
| r0r0 (Rohit M.) || [https://twitter.com/r0r0m0ney @r0r0m0ney] || https://github.com/r0r0 || Twitter Essentials, Mega Runner, iMessage7<br />
|- <br />
| rabih96 (Rabih M.) || [https://twitter.com/rabih96 @rabih96] || https://github.com/rabih96 || MyBatteryAlerts, CCScale, VolumeStatus<br />
|-<br />
| Razzile || [https://twitter.com/Razzilient @Razzilient] || https://github.com/Razzile || Candy Crusher, EasyRespring, KillSwitcher<br />
|-<br />
| rob311 || [https://twitter.com/rob311apps @rob311apps] || - || OneThumb, ListeningLauncher, StopCCinApp<br />
|-<br />
| robottomdev || - || - || -<br />
|-<br />
| Ron Thakrar || [https://twitter.com/ronthakrar @ronthakrar] || - || ChangeAwake, AboutUDID, Controls for Spotify<br />
|-<br />
| RTech || - || - || -<br />
|-<br />
| rpetrich (Ryan Petrich) || [https://twitter.com/rpetrich @rpetrich] || https://github.com/rpetrich || -<br />
|-<br />
| rud0lf77 || - || - || -<br />
|-<br />
| Ruslan Ardashev, http://www.ruslanArdashev.com|| [https://twitter.com/ruse_Ardashev @ruse_Ardashev] || https://github.com/ruslan120101 || panicLock (free), panicLock Pro [iOS 7, iOS 8], nupsidedown, reachabilityToggles<br />
|-<br />
| ryebread761 || - || - || -<br />
|-<br />
| rviraj (Raviraj Minawala) || [https://twitter.com/rv1raj @rv1raj] || https://github.com/ravirajm || -<br />
|-<br />
| Sassoty (Noah Saso) || [https://twitter.com/Sassoty @Sassoty] || https://github.com/Sassoty || ConvoProtect, GlowBadge, PulltoRespring, TypeRead, ScreenPainter, CamText<br />
|-<br />
| saurik (Jay Freeman) || [https://twitter.com/saurik @saurik] || https://github.com/saurik || -<br />
|-<br />
| sharedRoutine (Janosch H&uuml;bner) || [https://twitter.com/sharedRoutine @sharedRoutine] || https://github.com/sharedRoutine || AppHeads, MSGAutosave8<br />
|-<br />
| Shrugs (Matt Condon) || - || - || -<br />
|-<br />
| Simon Selg || [https://twitter.com/accuratweaks @AccuraTweaks] || https://github.com/Cr4zyS1m0n/ || BetterWiFi7, QRMode, Call Enhancer, AutoRotateVideos (beta)<br />
|-<br />
| Skylerk99 || - || - || -<br />
|-<br />
| SpiritOfLogic || - || - || -<br />
|-<br />
| Sticktron || - || - || -<br />
|-<br />
| Suhaib Alfaqeeh || - || - || -<br />
|-<br />
| switchpwn (Mustafa Gezen) || - || - || -<br />
|-<br />
| termus1997 || [https://twitter.com/termus1997 @termus1997] || - || AutoLoadTweets, NoNotificationCenterBlur<br />
|-<br />
| theiostream || - || - || -<br />
|-<br />
| TheJailPad || [https://twitter.com/TheJailPadApple @TheJailPadApple] || - || BatterySafe, CCBackground, PlayTask<br />
|-<br />
| thekirbylover (Adam D.) || - || - || -<br />
|-<br />
| TheNinjaprawn (George Dan) || [http://twitter.com/theninjaprawn @TheNinjaprawn] || https://github.com/ninjaprawn || ColorBar, FolderSwipe7, Voltage<br />
|-<br />
| tomf64 (Thomas Finch) || [https://twitter.com/tomf64 @tomf64] || https://github.com/thomasfinch || Priority Hub, Dim<br />
|-<br />
| tweakcc (Alan Yip) || [https://twitter.com/tweakcc @tweakcc] || https://github.com/a1anyip || ProWidgets, StatusHUD 2<br />
|-<br />
| twodayslate || [https://twitter.com/twodayslate @twodayslate] || https://github.com/twodayslate || -<br />
|-<br />
| unlimapps || [https://twitter.com/unlimapps @unlimapps] || https://github.com/eni9889 || -<br />
|-<br />
| uroboro || [https://twitter.com/uroboro845 @uroboro845] || https://github.com/uroboro || FlipNC, 2048oard<br />
|-<br />
| vmanot (Vatsal Manot) || [https://twitter.com/vatsal_manot @vatsal_manot] || https://github.com/vmanot || - Athena 2, Disable Parallax Effect, Menu Button Emulator, Power Button Emulator, Verbal<br />
|-<br />
| VedBoon (Javier Brito) || - || - || -<br />
|-<br />
| VladMax Soft || - || - || -<br />
|-<br />
| winocm || [https://twitter.com/winocm @winocm] || https://github.com/winocm || -<br />
|-<br />
| xTheMaster3x (xTM3x) || - || - || -<br />
|-<br />
| Zanif || - || - || -<br />
|-<br />
|}</div>
Gertab
https://iphonedev.wiki/index.php?title=Active_Developers&diff=3184
Active Developers
2014-11-02T10:05:01Z
<p>Gertab: </p>
<hr />
<div>''Feel free to add more people to this list.''<br />
<br />
Tweak developers who have created a tweak of their own, and updated or released a tweak since evasi0n7 (7.0).<br />
<br />
{| class="wikitable"<br />
! name / handle !! Twitter handle !! Github profile !! Recent tweaks<br />
|-<br />
| _Matchstic (Matt Clarke) || [https://twitter.com/_Matchstic @_Matchstic] || - || Convergance<br />
|-<br />
| _mxms (Maximus) || - || - || -<br />
|-<br />
| ac3xx (James Long) || - || - || -<br />
|-<br />
| Adolfoi_ || - || - || -<br />
|-<br />
| Adrian Granados || - || - || -<br />
|-<br />
| Aehmlo (Aehmlo Lxaitn) || [https://twitter.com/aehmlo @Aehmlo] || https://github.com/Aehmlo || Badger 7, PowerDown Enhancer 2<br />
|-<br />
| Alltim3h4ckers || - || - || -<br />
|-<br />
| ashikase (Lance Fetters) || - || - || -<br />
|-<br />
| b3ll (Adam Bell) || - || - || -<br />
|-<br />
| Bailey Seymour || [http://twitter.com/baileyseymour_ @baileyseymour_] || - || AppDye, UIColors<br />
|-<br />
| bd452 (Bryce Dougherty) || - || - || -<br />
|-<br />
| ben_gerard (Ben Gerard) || - || - || -<br />
|-<br />
| bensge (Benno Kraus) || - || - || -<br />
|-<br />
| Brogan Miner || - || - || -<br />
|-<br />
| Callum Ryan || - || - || -<br />
|-<br />
| Charlie Hewitt || - || - || -<br />
|-<br />
| CoolStar || - || - || -<br />
|-<br />
| Cykey (David Murray) || [http://twitter.com/icykey @iCykey] || https://github.com/cykey || Smart Search<br />
|-<br />
| Daniel Turner || - || - || -<br />
|-<br />
| elias || - || - || -<br />
|-<br />
| Evan Swick || [http://twitter.com/e_swick @e_swick] || https://github.com/eswick || OS Experience<br />
|-<br />
| evilgoldfish || - || - || -<br />
|-<br />
| EvilPenguin || - || - || -<br />
|-<br />
| Exile.90 (SoftHardW / Ivano Bilenchi) || - || - || -<br />
|-<br />
| expr (Fionn Kelleher) || - || - || -<br />
|-<br />
| F0u4d || - || - || -<br />
|-<br />
| FilippoBiga (Filippo Bigarella) || - || - || -<br />
|-<br />
| flux (Aditya K.) || - || - || -<br />
|-<br />
| fr0st (Guillermo Morán) || - || - || -<br />
|-<br />
| freemanrepo (Majd Alfhaily) || - || - || -<br />
|-<br />
| iKyle (Kyle Howells) || [http://twitter.com/freerunnering @freerunnering] || https://github.com/freerunnering || SwipeSelection, Emblem, MountainCenter<br />
|-<br />
| Frostbitee08 (Rocco Del Priore) || - || - || -<br />
|-<br />
| Gabriele Filipponi || - || - || -<br />
|-<br />
| gertab (Gerard Tabone) || - || - || CallShortcut<br />
|-<br />
| GreenPaperClip (jonathan yazinski) || - || - || -<br />
|-<br />
| Haifisch (Dylan Laws) || - || - || -<br />
|-<br />
| iakd || - || - || -<br />
|-<br />
| IAmOrion || - || - || -<br />
|-<br />
| Ian Burns (ianb821) || - || - || -<br />
|-<br />
| ichitaso || [https://twitter.com/ichitaso @ichitaso] || https://github.com/ichitaso || -<br />
|-<br />
| ilendemli (Muhammet Ilendemli) || - || - || -<br />
|-<br />
|-<br />
| iMokhles (Mokhlas Hussein) || [http://twitter.com/imokhles @iMokhles] || https://github.com/iMokhles || WAEnhancer, Rendarya, VBEnhancer, PHEnhancer<br />
|-<br />
| iNeal || - || - || -<br />
|-<br />
| insanj (Julian Weiss) || - || - || -<br />
|-<br />
| iOSMarvin || - || - || -<br />
|-<br />
| its_not_herpes (Ethan Arbuckle) || - || - || -<br />
|-<br />
| J_W97 (Jack Willis) || - || - || -<br />
|-<br />
| Jailpod || - || - || -<br />
|-<br />
| Jeepston || - || - || -<br />
|-<br />
| Jerry En || - || - || -<br />
|-<br />
| Jontelang (Jonathan Winger-Lang) || - || - || -<br />
|-<br />
| jzplusplus (Jay Zuerndorfer) || - || - || -<br />
|-<br />
| Kinan Saeb || [https://twitter.com/Kinan_iOS @Kinan_iOS] || - || Youtube Essentials<br />
|-<br />
| Majd Alfhaily || - || - || -<br />
|-<br />
| Marvin Schwalzik || - || - || -<br />
|-<br />
| max_katzmann (Max Katzmann) || - || - || -<br />
|-<br />
| merdok || [https://twitter.com/merdok_dev @merdok_dev] || - || UnlockSound7, Speak Notification, HUD Customizer<br />
|-<br />
| MichaelSP1991 (Michael Poole) || - || - || -<br />
|-<br />
| ming9010 || - || - || -<br />
|-<br />
| MPow (ManzoPower) || - || - || -<br />
|-<br />
| Noeliel ||[https://twitter.com/NoelielDev @NoelielDev] || - || Centered, QuickPass, StatusPeek, vHome<br />
|-<br />
| openro0t (Riley Durant) || - || - || -<br />
|-<br />
| Optimo || - || - || -<br />
|-<br />
| phillipten (Phillip Tennen) || [https://twitter.com/phillipten @phillipten] || https://github.com/Codyd51 || Acute, Hermes, CamText<br />
|-<br />
| pimskeks (Nikias Bassen) || - || - || -<br />
|-<br />
| pod2g || - || - || -<br />
|-<br />
| PoomSmart (Thuchapol Unprasert) || [https://twitter.com/PoomSmart @PoomSmart] || https://github.com/PoomSmart || -<br />
|-<br />
| qwertyoruiop (Luca Todesco) || - || - || -<br />
|-<br />
| r_idn (RiDan) || - || - || -<br />
|-<br />
| r0r0 (Rohit M.) || [https://twitter.com/r0r0m0ney @r0r0m0ney] || https://github.com/r0r0 || Twitter Essentials, Mega Runner, iMessage7<br />
|- <br />
| rabih96 (Rabih M.) || - || - || -<br />
|-<br />
| Razzile || [https://twitter.com/Razzilient @Razzilient] || - || Candy Crusher<br />
|-<br />
| rob311 || [https://twitter.com/rob311apps @rob311apps] || - || OneThumb, ListeningLauncher, StopCCinApp<br />
|-<br />
| robottomdev || - || - || -<br />
|-<br />
| Ron Thakrar || [https://twitter.com/ronthakrar @ronthakrar] || - || ChangeAwake, AboutUDID, Controls for Spotify<br />
|-<br />
| RTech || - || - || -<br />
|-<br />
| rpetrich (Ryan Petrich) || [https://twitter.com/rpetrich @rpetrich] || https://github.com/rpetrich || -<br />
|-<br />
| rud0lf77 || - || - || -<br />
|-<br />
| ryebread761 || - || - || -<br />
|-<br />
| rviraj (Raviraj Minawala) || [https://twitter.com/rv1raj @rv1raj] || https://github.com/ravirajm || -<br />
|-<br />
| Sassoty (Noah Saso) || - || - || -<br />
|-<br />
| saurik (Jay Freeman) || [https://twitter.com/saurik @saurik] || https://github.com/saurik || -<br />
|-<br />
| sharedRoutine (Jack) || [https://twitter.com/sharedRoutine @sharedRoutine] || https://github.com/sharedRoutine || -<br />
|-<br />
| Shrugs (Matt Condon) || - || - || -<br />
|-<br />
| Skylerk99 || - || - || -<br />
|-<br />
| SpiritOfLogic || - || - || -<br />
|-<br />
| Sticktron || - || - || -<br />
|-<br />
| Suhaib Alfaqeeh || - || - || -<br />
|-<br />
| switchpwn (Mustafa Gezen) || - || - || -<br />
|-<br />
| termus1997 || [https://twitter.com/termus1997 @termus1997] || - || AutoLoadTweets, NoNotificationCenterBlur<br />
|-<br />
| theiostream || - || - || -<br />
|-<br />
| TheJailPad || [https://twitter.com/TheJailPadApple @TheJailPadApple] || - || BatterySafe, CCBackground, PlayTask<br />
|-<br />
| thekirbylover (Adam D.) || - || - || -<br />
|-<br />
| TheNinjaprawn (George Dan) || [http://twitter.com/theninjaprawn @TheNinjaprawn] || https://github.com/ninjaprawn || ColorBar, FolderSwipe7, Voltage<br />
|-<br />
| tomf64 (Thomas Finch) || - || - || -<br />
|-<br />
| twodayslate || [https://twitter.com/twodayslate @twodayslate] || https://github.com/twodayslate || -<br />
|-<br />
| VedBoon (Javier Brito) || - || - || -<br />
|-<br />
| VladMax Soft || - || - || -<br />
|-<br />
| winocm || [https://twitter.com/winocm @winocm] || https://github.com/winocm || -<br />
|-<br />
| xTheMaster3x (xTM3x) || - || - || -<br />
|-<br />
| Zanif || - || - || -<br />
|-<br />
|}</div>
Gertab
https://iphonedev.wiki/index.php?title=Getting_Started&diff=2796
Getting Started
2014-09-04T19:00:39Z
<p>Gertab: /* Learning C and Objective-C */</p>
<hr />
<div>== Learning C and Objective-C ==<br />
<br />
If you have no programming experience and you want to write extensions/tweaks, you'll need to learn a lot about Objective-C and developing ordinary apps for iOS. (If you'd like to first try modifying code in simple ways to explore some possibilities, you can try the paid package [http://getflex.co/ Flex], on the BigBoss repository in Cydia.)<br />
<br />
To give you a taste, [https://www.codeschool.com/paths/ios Code School has an iOS programming course for beginners], with a [https://www.codeschool.com/courses/try-objective-c free interactive guide to getting started with Objective-C]. You can also try the [http://www.codecademy.com/ free courses offered by Codecademy] - they're not about Objective-C or iOS, but they can give you a general sense of what programming is like.<br />
<br />
For further study:<br />
<br />
* Apple's developer documentation - see [https://developer.apple.com/xcode/ the Xcode page] and [https://developer.apple.com/library/ios/referencelibrary/GettingStarted/RoadMapiOS/index.html#//apple_ref/doc/uid/TP40011343 Start Developing iOS Apps Today].<br />
<br />
* Videos: [https://itunes.apple.com/us/course/developing-ios-7-apps-for/id733644550 Stanford's "Developing iOS 7 Apps for iPhone and iPad" class on iTunes U] and [http://thenewboston.org/list.php?cat=33 The New Boston video tutorials].<br />
<br />
* Books: [http://www.amazon.com/Programming-Objective-C-Edition-Developers-Library/dp/0321967607 ''Programming in Objective-C'' by Stephen G. Kochan] and [http://www.amazon.com/Objective-C-Programming-Ranch-Guide-Guides/dp/0321706285 ''Objective-C Programming: The Big Nerd Ranch Guide'' by Aaron Hillegass].<br />
<br />
* Forums: [http://iphonedevsdk.com/ unofficial iPhone Dev SDK forum] and [http://stackoverflow.com/questions/tagged/ios Stack Overflow].<br />
<br />
It's good to learn some C too; it'll give you a better foundation for learning Objective-C. You'll want to know about pointer arithmetic, the Objective-C runtime, buffer overflows, bitwise operations, the model-view-controller pattern, etc.<br />
<br />
Ideally you'll get to a point where you're comfortable writing and running code for iOS. If you're already there, definitely keep reading!<br />
<br />
== Setting up Theos ==<br />
<br />
Follow [[Theos/Setup]] to set up your [[Theos]] environment by installing Theos and creating your first project. 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://github.com/r-plus/dotfiles/blob/master/install_theos.sh Theos Install Script].<br />
<br />
You'll probably also want to read more about [[MobileSubstrate|Cydia Substrate]] - see [http://www.cydiasubstrate.com/id/264d6581-a762-4343-9605-729ef12ff0af/ saurik's Substrate documentation].<br />
<br />
== Finding example projects ==<br />
<br />
Here is a list of just a few of the many open source projects that can be used as examples: [[Open Source Projects]].<br />
<br />
For some simple example projects you can build with Theos, see [https://github.com/codyd51/Theos-Examples codyd51's Theos Examples].<br />
<br />
Not finding what you are looking for? Try searching through [http://www.github.com GitHub] for iOS Tweaks with a simple trick, "extension:xm".<br />
<br />
Example:<br />
<br />
<code><br />
extension:xm SBAwayController<br />
</code><br />
<br />
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.<br />
<br />
== Looking at frameworks, classes, and processes ==<br />
<br />
To figure out what code to modify, you'll want to explore around iOS and apps.<br />
<br />
You can extract Objective-C class interfaces with [http://stevenygard.com/projects/class-dump/ class-dump], [https://code.google.com/p/networkpx/wiki/class_dump_z class_dump_z], or [https://github.com/limneos/classdump-dyld classdump-dyld]. Remember that the resulting files are not the original headers, so use them with caution.<br />
<br />
You can also find other developers have done this process for many frameworks and compiled their work into github repositories. Here's two of them:<br />
* [https://github.com/nst/iOS-Runtime-Headers iOS-Runtime-Headers]<br />
* [https://github.com/rpetrich/iphoneheaders/ iphoneheaders]<br />
<br />
For further help, take a look at [https://www.youtube.com/watch?v=aabrNwI1-Go Finding classes/methods and using them] by Sassoty.<br />
<br />
See [[Reverse Engineering Tools]] for detailed information about these tools and many others, including [[Logify]].<br />
<br />
See [[Notifications]] for information about observing and posting notifications informing observers of events within a process and for IPC purposes, for example.<br />
<br />
== Prototyping a tweak ==<br />
<br />
You can use [[Cycript]] to explore running processes. Check out the [http://www.cycript.org/manual/ official manual], especially the [http://www.cycript.org/manual/#5719c21b-68d2-4647-9d97-bcdbeea7f929 section about process injection]. 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]).<br />
<br />
== Building your tweak ==<br />
<br />
After prototyping you will want to make your tweak into a project to build it and debug it. To achieve this you will most likely use [[Theos]]. It is available for different platforms including iOS and Mac OS, and, to a certain extent, Linux. On Mac OS you can use Xcode's command line tools, but for the other platforms you should use a toolchain. On iOS there are two available toolchains ([[On-device toolchains]]), and [http://coolstar.org/iOSToolchainOnWindows.html there is a project for Windows].<br />
<br />
To learn about setting up your package's control file, see [http://www.saurik.com/id/7 saurik's article on building packages]. If you need to list dependencies or conflicting packages, Debian's packaging manual may be useful (because Cydia packaging is based on Debian packaging): [https://www.debian.org/doc/debian-policy/ch-relationships.html#s-depsyntax Syntax of relationship fields], [https://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps Dependencies], [https://www.debian.org/doc/debian-policy/ch-relationships.html#s-conflicts Conflicts] -- or if you're submitting this package to a default repository, you can just ask your repository maintainer for help with this.<br />
<br />
== Debugging ==<br />
<br />
See [[Debugging on iOS 7]] for how to run gdb and/or lldb.<br />
<br />
The [http://theiphonewiki.com/wiki/System_Log System Log article on TheiPhoneWiki] has useful tips about accessing the device's syslog.<br />
<br />
The Crash Reporter package in Cydia is a convenient way to grab crash reports, and it's helpful to run [https://github.com/ashikase/symbolicate symbolicate] (also available in Cydia) on crash reports to get more detail.<br />
<br />
[http://sharedinstance.net/2014/02/debugging-memory-issues/ Debugging memory issues in Substrate tweaks]<br />
<br />
== A few problems you may run into while getting started ==<br />
<br />
''Problem: Whenever I run programs I compile with your toolchain, they are immediately "Killed". I hate Apple :(.''<br/><br />
Solution: iOS only wants to run signed code. Jailbreaks patch the signature verification out of the kernel, but you still need to at least add a valid CodeDirectory to the binary that contains SHA1 hashes of the executable. See [[Code Signing]] for a few ways to do this.<br />
<br />
''Problem: I tried copying a graphical program to the iPhone, and ran it from the command line. I am nearly 100% certain my program is correct, and I did your codesign instructions, but it doesn't work.''<br/><br />
Solution: You can't run things from the command line, you have to run them from SpringBoard.<br />
<br />
''Problem: OK, but when I copied the file to /Applications it didn't even show up in SpringBoard.''<br/><br />
Solution: iOS caches the Info.plist files of all installed applications in a centralized place. The fastest/bestest way to handle this cache is to install UIKit Tools and then run its uicache as mobile.<br />
<br />
''Problem: When I add setuid bits to my program, it no longer starts up and syslog doesn't seem to provide any useful information, either (True?).''<br/><br />
Solution: I am not quite certain what is preventing this. However, it is easy to defeat: replace your program with a two line shell script that, in turn, runs your program. Example, maybe MyProgram (setuid) gets renamed to MyProgram_, and MyProgram (not setuid) becomes the script:<br />
<source lang=bash>#!/bin/bash<br />
dir=$(dirname "$0")<br />
exec "${dir}"/MyProgram_ "$@"</source><br />
<br />
== Publishing your package in a default repository ==<br />
<br />
When you've completed a project, you may want to submit it to one of Cydia's default repositories (sources) for distribution.<br />
<br />
['''Context about Cydia:''' Unlike the App Store, which is a centralized system, Cydia itself does not host/distribute packages - instead, Cydia is a way to browse and install packages from repositories. By default, Cydia comes with a list of good repositories (independently-owned but work closely with the makers of Cydia) - so if you want to distribute a package to the general audience of Cydia users, submitting it to a default repository is a good plan. If you use a default repository and want to sell your package, you can choose to use the Cydia Store system so that people have a simple way to purchase it. You can also choose to run your own repository (see [[Repository Management]]) and ask interested users to type your repository address into Cydia to get your package.]<br />
<br />
These are your options for default repositories, with links to information about submitting:<br />
<br />
* [http://thebigboss.org/hosting-repository-cydia/submission BigBoss] (managed by [https://twitter.com/0ptimo Optimo])<br />
* [http://modmyi.com/mmi/ ModMyi] (managed by [https://twitter.com/mmirepo Tyler])<br />
* [http://www.macciti.com/faq.php?faq=cydia_usage MacCiti] (managed by [https://twitter.com/MacCiti MacCiti])<br />
<br />
If you aren't sure which to pick, look up what your favorite developers use, or ask other developers for suggestions (if you don't already know any other developers, [[IRC]] may be helpful). If you have questions, email is usually the best way to get in contact with repository managers.<br />
<br />
For questions about the Cydia Store system for paid packages, you can ask your repository manager; they've helped many developers figure this out. See also: [[Cydia Store Integration]].<br />
<br />
== Some guides on other sites ==<br />
<br />
* [http://www.youtube.com/playlist?list=PLFfSWxWm1or7fqB340OYjF8deWRWSDytc YouTube playlist that teaches you in depth how to write Cydia tweaks] by Sassoty<br />
* [http://jontelang.com/guide/Introduction.html Guide/tutorial/collection of things/etc for jailbroken iOS development] by jontelang<br />
* [http://iky1e.tumblr.com/post/9561218739/jailbroken-development-starter-pack Jailbroken Development : Starter Pack] by iKy1e (Freerunnering)<br />
* [http://www.ijailbreak.com/cydia/cydia-tweak-mobilesubstrate-programming-guide/ A Beginners Guide To Getting Started In Cydia Tweak Development]<br />
* [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] + [http://brandontreb.com/beginning-jailbroken-ios-development-your-first-tweak Your First Tweak]<br />
* [http://www.andyibanez.com/64-how-to-create-mobilesubstrate-tweaks-for-ios How To Create A MobileSubstrate Tweak for iOS]<br />
* [http://www.reddit.com/r/jailbreak/comments/20nxy8/flex_to_mobilesubstrate_a_beginners_guide_to/ Flex to MobileSubstrate: A beginner's guide to making a tweak]<br />
<br />
== Theos challenges ==<br />
<br />
This section is a set of tweaks/apps that can be created with Theos for new or experienced developers to practice with.<br />
<br />
{| class="wikitable"<br />
|-<br />
! Title<br />
! Description<br />
! Example<br />
! Need Help?<br />
|-<br />
| LaunchNotifier<br />
| Show a UIAlertView on the screen after any app has been launched. The title of the UIAlertView is the name of the app being opened.<br />
| [http://i.imgur.com/HfkI2Xa.jpg Example]<br />
| [http://www.andyibanez.com/64-how-to-create-mobilesubstrate-tweaks-for-ios Guide]<br />
|-<br />
| AskLaunch<br />
| Show a UIAlertView after tapping an app, asking the user whether they want to launch it or not.<br />
| [http://i.imgur.com/ImQssZK.jpg Example]<br />
|<br />
|-<br />
| TransparentSBEditor<br />
| Make the SpringBoard icons transparent while editing, instead of jittering.<br />
| [http://i.imgur.com/z6SqZnZ.png Example]<br />
|<br />
|}<br />
<br />
If you're interested in ideas for something else to build, the [http://www.reddit.com/r/jailbreak/search?q=request&sort=new&restrict_sr=on "Request" tag on /r/jailbreak] has lots of tweak ideas from real people.</div>
Gertab