Xcode, de facto integrert utviklingsmiljø (IDE) for iOS og OS X-utvikling, er et fantastisk stykke programvare. Den tilbyr alt som en kakaoutvikler trenger for å gå fra en skjøre idé til et vellykket program i Apples App Store.
Imidlertid er det mange verktøy og tjenester som har blitt uunnværlige i arbeidsflyten til mange kakaoutviklere. I denne artikkelen vil jeg markere noen av verktøyene jeg bruker, samt noen alternativer.
I Kakaosamfunnet er Git uten tvil det mest populære kildekoden management-systemet (SCM). Selv om Xcodes støtte til Git forbedres med hver utgivelse, foretrekker mange kakaoutviklere et dedikert verktøy over Xcodes innebygde støtte.
SourceTree er Atlassians gratis Git klient, tilgjengelig for OS X og Windows. Den støtter også Mercurial, men flertallet av kakaoutviklere velger for Git i dag. Ikke bare er SourceTree gratis, den er utrolig kraftig og enkel å bruke-selv for folk som ikke er kjent med Git.
Atlassians Git-klient integrerer pent med Bitbucket, så vel som GitHub og FogCreek's Kiln. SourceTree hjelper deg selv med vanlige arbeidsflyter, for eksempel Git-flow og Hg-flow. Selv om du sverger på kommandolinjen, vil SourceTree gjøre komplekse operasjoner som mye lettere.
I årevis har Tower vært min Git klient av valg. Det er vakkert designet, kraftig og robust. Den tilbyr de fleste funksjonene du trenger daglig, og integrerer sømløst med Beanstalk, GitHub, samt noen av dine favorittredaktører, for eksempel BBEdit og Coda.
Folkene på Fournova, skaperne av Tower, har gjort en fantastisk jobb med Tower, og de fortsetter å forbløffe meg med hver utgivelse. Tårnet er ikke gratis, men det bør ikke stoppe deg fra å laste ned rettssaken og ta det for et snurr.
Black Pixel's Kaleidoscope er din beste venn når det gjelder å finne forskjeller mellom filer og mapper. Konseptet kan virke enkelt, men det er faktisk ikke.
Du kan tro at en filsammenligningsprogram som Kaleidoscope ikke er verdt å betale for, men jeg utfordrer deg til å prøve den, og du vil bli overrasket. Det fungerer veldig bra og jeg har kommet for å stole på det intuitive brukergrensesnittet og den kraftige sammenslåingsfunksjonalen.
Det finnes en rekke plattformer for hosting Git repositories, men GitHub er et av de mest populære valgene. Det er hjemmet til mange åpne kildeprosjekter, som AFNetworking og CocoaPods.
Offentlige repositorier er gratis og betalte planer er ganske rimelige. Med over 5 millioner brukere og over 11 millioner repositorier har GitHub blitt en stor aktør som mange utviklere stoler på.
Xcode er de facto IDE hvis du er seriøs om kakaoutvikling. JetBrains grader imidlertid ikke med denne utsagnet, og de har satt pengene sine der munnen deres er ved å lage AppCode.
AppCode er JetBrains svar på klager fra mange utviklere som har blitt frustrert med Xcode. Det er et imponerende verktøy for å si mildt, og det kan brukes sammen med Xcode. Selv om det ikke har kommet funksjonalitet med Xcode ennå, gjør det en bedre jobb på noen av Xcodes viktige funksjoner, for eksempel refactoring og kodeavslutning.
Jeg vet få personer som liker å skrive tegne kode, og jeg er sikker på at skaperen av PaintCode ikke er glad i det heller. PaintCode er et vektor tegneprogram som genererer Objective-C-kode på farten.
Ikke bare vil PaintCode spare deg tid, det vil hjelpe deg å stole mindre på bilder for å lage applikasjonens brukergrensesnitt. Dette gjør det mye enklere å holde applikasjonens brukergrensesnitt fleksibelt, dynamisk og lett.
Hvis du er en iOS- eller OS X-utvikler, og du ikke bruker CocoaPods, gjør du det feil. KakaoPods startet som et lite prosjekt med et ambisiøst mål. Det har vokst seg til de facto dependence management løsning for kakao utvikling. Mest populære biblioteker gir støtte til CocoaPods og til og med store selskaper, som Facebook og Square, støtter CocoaPods.
CocoaPods fungerer utrolig bra, er overraskende robust, og er integrert i JetBrains AppCode, som jeg diskuterte tidligere. CocoaPods vil gjøre livet ditt som en kakaoutvikler som mye lettere. Seriøst, prøv det. Du kan takke meg senere.
Ikke for lenge siden, distribusjon av bygg til testere var en smerte i nakken - spesielt hvis de testerne ikke var veldig tekniske. TestFlight taklet dette problemet ved å skape en plattform for over luftfordeling av testbygg. Distribuere bygger til testere har aldri vært enklere.
Selv om applikasjonstilbud fortsatt er en stor hindring for nye kakaoutviklere, har ad hoc-distribusjon blitt mye lettere.
TestFlight har også et skrivebordsprogram for OS X for å gjøre det enklere å laste opp en nybygg til sine servere. Den oppdager automatisk når du oppretter et nytt arkiv og ber deg om å laste opp bygningen til TestFlight-servere. Det er det jeg kaller smertefri ad hoc-distribusjon.
HockeyApp er veldig lik TestFlight, det hjelper utviklere å distribuere bygger til testere. Som TestFlight har den muligheten til å samle krasjrapporter med server-side symbolisering, og det inkluderer analyser for å få en nøyaktig ide om hvilke enheter og konfigurasjoner dine applikasjoner blir testet på.
Som TestFlight har HockeyApp en flott API. Med HockeyApp API kan du til og med hente krasjrapporter og oppdatere provisjonsprofiler.
Alcatraz er en pakkebehandling for Xcode. Si farvel til manuelt å kopiere filer til noen obskure katalog. Installere plugins eller fargeskjemaer med Alcatraz handler om å klikke på en knapp.
Alcatraz opprettholder en liste over plugins, maler og farger, som du kan søke og installere med et klikk på en knapp. På tidspunktet for skriving er Alcatraz ikke fullt kompatibel med Xcode 5, men la det ikke hindre deg i å prøve det.
Målet med Reveal er enkelt, men imponerende, det lar deg inspisere og manipulere søknadens synhierarki ved kjøring. Jo mer jeg bruker Reveal, jo mer verdsetter jeg meg og oppdager sin kraft og evner.
Den lar inspeksjonens søknadshierarki i to og tre dimensjoner, endre egenskapene til individuelle visninger, og til og med zoome inn på en undergruppe av visninger for å gjøre debugging enklere. Å avsløre er ikke gratis, men det er verdt hver krone.
Charles er et av de verktøyene som mange mennesker elsker når de begynner å bruke det. Det er et kryssplattformverktøy for overvåking av nettverkstrafikk. Hvorfor ville dette være nyttig for en kakaoutvikler? Fra det øyeblikket søknaden din trenger å snakke med en webtjeneste, vil du umiddelbart se fordelene ved et verktøy som Charles.
I stedet for å lure på hvorfor en forespørsel returnerer en 404
, Du kontrollerer bare forespørselen i Charles for å se om du sender de riktige overskriftene med forespørselen. Charles støtter SSL, la oss filtrere trafikk, og kan til og med simulere en langsom nettverksforbindelse.
De fleste iOS-utviklere tester deres applikasjoner i iOS-simulatoren - spesielt i de tidlige utviklingsstadiene. Dette betyr at du noen ganger trenger å bla gjennom en applikasjons sandkasse. Jo, du kan åpne Finder og navigere til ~ / Bibliotek / Programstøtte / iPhone Simulator / 7.0.3 / Programmer / 56A57F3E-CF48-47F6-BAE8-B8541BCEC13B /
. Egentlig?
SimPholders er et lite program som lever i menylinjen. Det gir deg rask tilgang til sandkassene til programmene du har installert i iOS-simulatoren. Gjør deg selv en tjeneste og ta en kopi av SimPholders. Det er gratis.
TestFlight og HockeyApp har evnen til å samle krasjrapporter for deg, men Crashlytics eneste fokus er å samle og analysere krasjer - og det viser. Crashlytics er en gratis tjeneste og støtter iOS og Android.
Det samler ikke bare og symboliserer krasjrapporter, det inspiserer og analyserer krasjer. Resultatet er at det og viser deg alvorlighetsgraden av et problem, som hjelper deg med å prioritere feilrettinger. Crashlytics-skrivebordsprogrammet oppdager automatisk når et nytt arkiv er opprettet, og det laster automatisk opp arkivets dSYM-fil, slik at det kan symbolisere eventuelle innkommende krasjrapporter.
Crittercism går ett skritt lenger enn Crashylitics ved å kombinere analyser, krasjrapportering og applikasjonsytelse. Resultatet er en tjeneste som gjør det mulig for utviklere å finjustere sine applikasjoner, finne kritiske flaskehalser og prioritere feilrettinger. Den støtter iOS, Android, Windows Phone og webapplikasjoner.
Denne listen er på ingen måte definitiv. Det er mange flere verktøy og tjenester som gjør livet til en iOS-utvikler enklere og morsommere - eller mindre frustrerende. Hvilke verktøy og tjenester bruker du for iOS-utvikling?