Xcode, de facto-integrerad utvecklingsmiljö (IDE) för iOS och OS X-utveckling, är en fantastisk mjukvara. Det erbjuder allt som en kakaoutvecklare behöver gå från en ömtålig idé till en framgångsrik applikation i Apples App Store.
Det finns dock många verktyg och tjänster som har blivit oumbärliga i arbetsflödet för många kakaoutvecklare. I den här artikeln kommer jag att markera några av de verktyg som jag använder samt några alternativ.
I Kakaosamfundet är Git utan tvekan det mest populära källkodshanteringssystemet (SCM). Trots att Xcodes stöd till Git förbättras med varje utgåva, föredrar många kakaoutvecklare ett dedikerat verktyg över Xcodes inbyggda stöd.
SourceTree är Atlassians gratis Git-klient, tillgänglig för OS X och Windows. Den stöder också Mercurial, men majoriteten av Cocoa-utvecklare väljer för Git nuförtiden. Inte bara är SourceTree gratis, det är otroligt kraftfullt och lätt att använda - även för personer som inte är bekanta med Git.
Atlassians Git-klient integrerar snyggt med Bitbucket samt GitHub och FogCreek's Kiln. SourceTree hjälper dig till och med med vanliga arbetsflöden, som Git-flöde och Hg-flöde. Även om du svär på kommandoraden, kommer SourceTree att göra komplicerade operationer som mycket enklare.
I åratal har Tower varit min Git-klient av val. Det är vackert utformat, kraftfullt och robust. Den erbjuder de flesta funktioner som du behöver varje dag och integrerar sömlöst med Beanstalk, GitHub, liksom några av dina favoritredaktörer, som BBEdit och Coda.
Folket på Fournova, skaparna av Tower, har gjort ett fantastiskt jobb med Tower och de fortsätter att förvåna mig med varje release. Tornet är inte gratis, men det borde inte stoppa dig från att ladda ner rättegången och ta det för en tur.
Black Pixel's Kaleidoscope är din bästa vän när det gäller att hitta skillnader mellan filer och mappar. Konceptet kan tyckas enkelt, men det är det faktiskt inte.
Du kanske tror att en fil jämförelse ansökan som Kaleidoscope är inte värt att betala för, men jag utmanar dig att prova och du kommer bli förvånad. Det fungerar väldigt bra och jag har kommit att förlita sig på dess intuitiva användargränssnitt och kraftfulla sammanslagningsfunktioner.
Det finns ett antal plattformar för värd för Git repositories, men GitHub är ett av de mest populära valen. Det är hemmet för många öppna källprojekt, som AFNetworking och CocoaPods.
Offentliga repositorier är fria och betalade planer är ganska billiga. Med mer än 5 miljoner användare och över 11 miljoner repositories har GitHub blivit en stor aktör som många utvecklare lita på.
Xcode är de facto IDE om du är seriös om kakaoproduktion. Men JetBrains grad inte med detta uttalande och de har lagt sina pengar där deras mun är genom att skapa AppCode.
AppCode är JetBrains svar på klagomål från många utvecklare som har blivit frustrerade med Xcode. Det är ett imponerande verktyg som minst sagt och kan användas tillsammans med Xcode. Även om det inte har kommit funktionen med Xcode än, fungerar det bättre på några av Xcodes nyckelfunktioner, såsom refactoring och kodavslutning.
Jag känner till få personer som gillar att skriva ritningskod och jag är säker på att skaparen av PaintCode inte är förtjust i det heller. PaintCode är en vektorritningsapplikation som genererar Objective-C-kod på flyg.
Inte bara kommer PaintCode att spara tid, det hjälper dig att lita mindre på bilder för att skapa ditt programs användargränssnitt. Detta gör det mycket lättare att hålla ditt applikations användargränssnitt flexibelt, dynamiskt och lätt.
Om du är en iOS- eller OS X-utvecklare och du inte använder CocoaPods gör du det fel. CocoaPods började som ett litet projekt med ett ambitiöst mål. Det har vuxit till de facto dependence management lösningen för kakao utveckling. Populäraste bibliotek ger stöd för CocoaPods och till och med stora företag, som Facebook och Square, stöder CocoaPods.
CocoaPods fungerar otroligt bra, är överraskande robust och integreras i JetBrains AppCode, som jag diskuterade tidigare. CocoaPods kommer att göra ditt liv som en kakaoutvecklare som mycket lättare. Allvarligt, prova. Du kan tacka mig senare.
För inte så länge sedan, fördelade byggnader till testare var en smärta i nacken-speciellt om dessa testare inte var mycket tekniska. TestFlight tacklade det här problemet genom att skapa en plattform för överluftfördelning av testbyggnader. Att distribuera byggnader till testare har aldrig varit enklare.
Även om applikationstilldelning fortsätter att vara en stor hinder för nya kakaoutvecklare, har ad hoc-distribution blivit mycket enklare.
TestFlight har också en stationär applikation för OS X för att göra uppladdning av en ny byggnad till sina servrar ännu enklare. Det upptäcker automatiskt när du skapar ett nytt arkiv och uppmanar dig att ladda upp byggnaden till TestFlights servrar. Det är vad jag kallar smärtfri ad hoc-distribution.
HockeyApp ligner mycket TestFlight, det hjälper utvecklare att distribuera bygg till testare. Liksom TestFlight har den möjlighet att samla kraschrapporter med serverns symbolisering och det innehåller analyser för att få en exakt bild av vilka enheter och konfigurationer dina program testas på.
Liksom TestFlight har HockeyApp ett underbart API. Med HockeyApp API kan du även hämta kraschrapporter och uppdatera provningsprofiler.
Alcatraz är en paketchef för Xcode. Säg adjö att manuellt kopiera filer till någon obskur katalog. Installera plugins eller färgscheman med Alcatraz handlar om att klicka på en knapp.
Alcatraz upprätthåller en lista med plugins, mallar och färgscheman, som du kan söka och installera med ett klick av en knapp. I skrivande stund är Alcatraz inte fullt kompatibel med Xcode 5, men låt inte det hindra dig från att prova det.
Målet med Reveal är enkelt men imponerande, det låter dig inspektera och manipulera programmets synhierarki vid körning. Ju mer jag använder Reveal, desto mer uppskattar jag och upptäcker dess kraft och kapacitet.
Det låter inspektera din applikations synhierarki i två och tre dimensioner, ändra egenskaperna för enskilda visningar och till och med zooma in på en delmängd av visningar för att göra felsökning enklare. Reveal är inte gratis, men det är värt vartenda öre.
Charles är ett av de verktyg som många människor älskar när de börjar använda det. Det är ett plattformsverktyg för övervakning av nätverkstrafik. Varför skulle det vara användbart för en kakaoutvecklare? Från det ögonblick som din ansökan behöver prata med en webbtjänst ser du omedelbart nyttan av ett verktyg som Charles.
I stället för att undra varför en förfrågan återkommer a 404
, du inspekterar helt enkelt förfrågan i Charles för att se om du skickar rätt rubriker med begäran. Charles stödjer SSL, låt oss filtrera trafik och kan även simulera en långsam nätverksanslutning.
De flesta iOS-utvecklare testar sina applikationer i iOS-simulatorn, särskilt i de tidiga utvecklingsstadierna. Det betyder att du ibland behöver bläddra i en applikations sandlåda. Visst, du kan öppna Finder och navigera till ~ / Bibliotek / Application Support / iPhone Simulator / 7.0.3 / Program / 56A57F3E-CF48-47F6-BAE8-B8541BCEC13B /
. Verkligen?
SimPholders är en liten applikation som lever i menyraden. Det ger dig snabb åtkomst till sandlådorna i de program som du har installerat i iOS-simulatorn. Gör dig själv en tjänst och ta en kopia av SimPholders. Det är gratis.
TestFlight och HockeyApp har möjlighet att samla in kraschrapporter för dig, men Crashlytics enda fokus är att samla och analysera krascher - och det visar. Crashlytics är en gratis tjänst och stöder iOS och Android.
Det samlar inte bara in och symboliserar kraschrapporter, det inspekterar och analyserar kraschar. Resultatet är att det och visar hur svårt ett problem är, vilket hjälper dig att prioritera buggfixar. Crashlytics-skrivbordsapplikationen upptäcker automatiskt när ett nytt arkiv skapas och det laddar automatiskt arkivets dSYM-fil så att det kan symbolisera inkommande kraschrapporter.
Krittercism går ett steg längre än Crashylitics genom att kombinera analys, kraschrapportering och applikationsprestanda. Resultatet är en tjänst som gör att utvecklare kan finjustera sina applikationer, hitta kritiska flaskhalsar och prioritera buggfixar. Den stöder iOS, Android, Windows Phone och webbapplikationer.
Denna lista är inte på något sätt definitiv. Det finns många fler verktyg och tjänster som gör livet för en iOS-utvecklare enklare och roligare, eller mindre frustrerande. Vilka verktyg och tjänster använder du för iOS-utveckling?